R语言数据接口(下载、读取、写入)
文章目录
- R_数据接口
- ref
- csv文件
- Excel文件
- 二进制文件
- xml文件
- json文件
- web数据
- 数据库
R_数据接口
ref
w3school_R_数据接口
csv文件
读写csv
获取和设置工作目录
- **
getwd()
**函数检查R语言工作区指向的目录。 - **
setwd()
**函数设置新的工作目录。
- **
读取csv文件:
read.csv()
,将输出作为数据帧data <- read.csv("input.csv") print(data)# resultid, name, salary, start_date, dept 1 1 Rick 623.30 2012-01-01 IT 2 2 Dan 515.20 2013-09-23 Operations 3 3 Michelle 611.00 2014-11-15 IT 4 4 Ryan 729.00 2014-05-11 HR 5 NA Gary 843.25 2015-03-27 Finance 6 6 Nina 578.00 2013-05-21 IT 7 7 Simon 632.80 2013-07-30 Operations 8 8 Guru 722.50 2014-06-17 Finance
分析csv文件
行列数
print(ncol(data)) print(nrow(data))
某列最大值
sal <- max(data$salary) print(sal)
特定条件筛选,类似SQL语句
subset(data, condition)
# Get the person detail having max salary. retval <- subset(data, salary == max(salary)) print(retval)
# Create a data frame. data <- read.csv("input.csv")retval <- subset( data, dept == "IT") print(retval)
写入csv文件
**
write.csv()
**函数用于创建csv
文件,并写入数据帧。 此文件在工作目录中创建。data <- read.csv("input.csv") retval <- subset(data, as.Date(start_date) > as.Date("2014-01-01"))# Write filtered data into a new file. write.csv(retval,"output.csv")
默认写入行名,可以
write.csv(retval,"output.csv", row.names = FALSE)
去除
Excel文件
安装、导入xlsl包
install.packages("xlsx")# Verify the package is installed. any(grepl("xlsx",installed.packages()))# Load the library into R workspace. library("xlsx")
读入xlsl文件
# sheetIndex = 1表示读取第一个sheet data <- read.xlsx("input.xlsx", sheetIndex = 1) print(data)
写入xlsl文件
二进制文件
R语言有两个函数WriteBin()和readBin()来创建和读取二进制文件。
语法
writeBin(object, con) readBin(con, what, n )
- con 是读取或写入二进制文件的连接对象。
- object 是要写入的二进制文件。
- what - 是像字符,整数等代表字节模式被读取。
- n 是从二进制文件读取的字节数。
xml文件
安装xml包
install.packages("XML")
读取xml
使用函数**xmlParse()**读取。 它作为列表存储在R语言中。
# Load the package required to read XML files. library("XML")# Also load the other required package. library("methods")# Give the input file name to the function. result <- xmlParse(file = "input.xml")# Print the result. print(result)
获取根节点(是个列表)和文件节点数
# Exract the root node form the xml file. rootnode <- xmlRoot(result)# Find number of nodes in the root. rootsize <- xmlSize(rootnode)
解析文件第一条记录
print(rootnode[1])
获取节点的不同元素
# Get the second element of the third node. print(rootnode[[3]][[2]])
xml转数据帧
xmldataframe <- xmlToDataFrame("input.xml") print(xmldataframe)
写入xml
json文件
安装rjson包
install.packages("rjson")
读取json文件
# Load the package required to read JSON files. library("rjson")# Give the input file name to the function. result <- fromJSON(file = "input.json")# Print the result. print(result)
json转数据帧
使用**as.data.frame()**函数将上面提取的数据转换为R语言数据帧以进行进一步分析
# Load the package required to read JSON files. library("rjson")# Give the input file name to the function. result <- fromJSON(file = "input.json")# Convert JSON file to a data frame. json_data_frame <- as.data.frame(result)print(json_data_frame)
写入json文件
web数据
许多网站提供数据供其用户使用。
使用R语言程序,我们可以从这些网站以编程方式提取特定数据。
R语言中用于从网站中提取数据的一些包是“RCurl”,XML“和”stringr“,它们用于连接到URL,识别文件所需的链接并将它们下载到本地环境。
安装包
install.packages("RCurl") install.packages("XML") install.packages("stringr") install.packages("plyr")
demo[主要是获取link,再逐个下载]
- 使用函数getHTMLLinks()来收集文件的URL
- 使用函数downlaod.file()将文件保存到本地系统
# Read the URL. url <- "http://www.geos.ed.ac.uk/~weather/jcmb_ws/"# Gather the html links present in the webpage. links <- getHTMLLinks(url)# Identify only the links which point to the JCMB 2015 files. filenames <- links[str_detect(links, "JCMB_2015")]# Store the file names as a list. filenames_list <- as.list(filenames)# Create a function to download the files by passing the URL and filename list. downloadcsv <- function (mainurl,filename) {filedetails <- str_c(mainurl,filename)download.file(filedetails,filename) }# Now apply the l_ply function and save the files into the current R working directory. l_ply(filenames,downloadcsv,mainurl = "http://www.geos.ed.ac.uk/~weather/jcmb_ws/")
数据库
数据是关系数据库系统以规范化格式存储。
安装包
install.packages("RMySQL")
连接mysql
R中创建一个连接对象以连接到数据库。 它使用用户名,密码,数据库名称和主机名作为输入。
使用dbConnect()函数创建连接对象
mysqlconnection = dbConnect(MySQL(), user = 'root', password = '', dbname = 'sakila', host = 'localhost')
# Create a connection Object to MySQL database. # We will connect to the sampel database named "sakila" that comes with MySql installation. mysqlconnection = dbConnect(MySQL(), user = 'root', password = '', dbname = 'sakila', host = 'localhost')# List the tables available in this database.dbListTables(mysqlconnection)
查询
使用函数dbSendQuery()查询MySql中的数据库表。
result = dbSendQuery(mysqlconnection,SQL)
使用R语言fetch()函数返回结果集
data.frame = fetch(result, n = rows_display) # -1表示所有
最后,它被存储为R语言中的数据帧。
# Query the "actor" tables to get all the rows. result = dbSendQuery(mysqlconnection, "select * from actor")# Store the result in a R data frame object. n = 5 is used to fetch first 5 rows. data.frame = fetch(result, n = 5) print(data.frame)
更新
将更新查询传递给**dbSendQuery()**函数来更新Mysql表中的行。
dbSendQuery(mysqlconnection, "update mtcars set disp = 168.5 where hp = 110")
插入
dbSendQuery(mysqlconnection,"insert into mtcars(row_names, mpg, cyl, disp, hp, drat, wt, qsec, vs, am, gear, carb)values('New Mazda RX4 Wag', 21, 6, 168.5, 110, 3.9, 2.875, 17.02, 0, 1, 4, 4)" )
建表
使用函数dbWriteTable()创建表。 如果表已经存在,它将覆盖该表,并将数据帧用作输入。
# Create the connection object to the database where we want to create the table. mysqlconnection = dbConnect(MySQL(), user = 'root', password = '', dbname = 'sakila', host = 'localhost')# Use the R data frame "mtcars" to create the table in MySql. # All the rows of mtcars are taken inot MySql. dbWriteTable(mysqlconnection, "mtcars", mtcars[, ], overwrite = TRUE)
删除表
dbSendQuery(mysqlconnection, 'drop table if exists mtcars')
R语言数据接口(下载、读取、写入)相关推荐
- R语言与数据分析——【笔记】2.R语言数据存储与读取
R语言通过工作目录来对文件读取和写入,若一个文件不在工作目录,则必须给出其路径 可使用命令getwd()(获得工作目录)来找到目录:使用命令setwd("F:/2glkx")将当前 ...
- r股票数据接口读取CSV文件
r股票数据接口读取CSV文件的步骤,如下: 一.CSV文件 1.获取和设置工作目录: 2.getwd()函数,可用于获取当前工作目录: 3.setwd()函数,可用于设置当前工作目录,如:setwd( ...
- r语言股票接口如何获取数据?
r语言股票接口是有权限的,想从r语言股票接口上获取数据,要先前往其官网进行注册,然后获取你本人的token码,输入R里,与tushare进行连接.相当于token码是你的通行证,在R里输入下述代码,就 ...
- R语言数据的排序、转换、汇总
R学习笔记4_初级 数据排序 sort函数 rank函数 order函数 数据转换 长宽型数据转换 stack函数 tapply函数 reshape函数 reshape2函数 变量因子化(连续变量离散 ...
- r语言 读服务器数据,R语言数据实战 | 安装R语言
原标题:R语言数据实战 | 安装R语言 1.R的获取和安装 获取和安装R很容易(这也是它"亲民"的地方),具体步骤如下: Step 1: 登陆R语言官方网站https://www. ...
- 推荐:一本“高颜值”的R语言数据可视化图书(包邮送3本)
文章留言点赞前3名的朋友,每人送1本<R语言数据化可视化之美增强版>,名单揭晓日期为:本周日 (2020年7月12日晚7点).到时,获奖的朋友可以直接添加微信:meta-genomics, ...
- R语言数据可视化 ggplot2基础2 创建单图层的散点图 创建facet
R语言数据可视化 ggplot2基础2 创建单图层的散点图 创建facet 单图层散点图 单图层散点图的facet 单图层散点图 这一讲我们从最简单的散点图开始介绍ggplot2应用的基础,首先我们下 ...
- R语言数据对象与运算
R语言数据对象与运算 笔记整理 2.1 数据对象及类型 R语言创建和控制的实体被称为对象(object) ls()命令来查看当前系统里的数据对象 R对象的名称必须以一个英文字母打头,并由一串大小写字母 ...
- r语言liftchart_最棒的7种R语言数据可视化
随着数据量不断增加,抛开可视化技术讲故事是不可能的.数据可视化是一门将数字转化为有用知识的艺术. R语言编程提供一套建立可视化和展现数据的内置函数和库,让你学习这门艺术.在可视化的技术实现之前,让我们 ...
- R语言数据科学程序包:Tidyverse介绍
R语言数据科学程序包:Tidyverse介绍 1. R语言简介 2. 数据科学简介 3. Tidyverse简介 1. R语言简介 R语言是用于统计计算和绘图的免费软件.它可以在Windows, Un ...
最新文章
- SparkStreaming从Kafka读取数据两种方式
- js实现全选和反选功能
- C#操作SQL Server通用类
- 直播马上开始|不要怂,一起上!关于黑客攻防,我们有话要说
- java 画砖块,钢笔画入门:教你画砖块
- UIViewController 之LoadView详解
- ubuntu 搜狗输入法的安装
- 通信原理的新认识-从实践到原理
- 颜色表大全 颜色中英文对照表
- 坚定文化新自信 提升文化软实力
- 生活中有哪些坏习惯一旦改正就能带来立竿见影的好处?
- 546家企业被列为建议支持的国家级专精特新“小巨人”企业
- 电脑分屏设置主屏_WinXP电脑双屏显示设置的方法
- 新型多功能、高性能量子点,可以用于医学成像、量子计算
- 微信小程序和野狗数据库结合
- python输入float_float是什么意思_在python中 float是什么意思?
- Scala错误:找不到或无法加载主类 xxx解决方法
- snipaste 快捷键被chrome占用解决
- Ubuntu 出现结构需要清理 (structure needs cleaning)
- freeswitch 录音为mp3格式