明天笔记的次要学习内容是 R 语言里 文件 相干常识,蕴含 CSV、Excel、XML、JSON、MySQL 等。
CSV 文件
根本介绍
CSV(Comma-Separated Values,字符分隔值,分隔字符也能够不是逗号)是一种十分风行的表格存储文件格式,这种格局适宜贮存中型或小型数据规模的数据。
CSV
实质是文本,格局简略:数据一行一行的用文本保留,每条记录被分隔符分隔为字段,每条记录都有同样的字段序列。
- 规定:
1 结尾是不留空,以行为单位。
2 可含或不含列名,含列名则居文件第一行。
3 一行数据不跨行,无空行。
4 以半角逗号(即,)作分隔符,列为空也要表白其存在。
5 列内容如存在半角引号(即 ”),替换成半角双引号(””)本义,即用半角引号(即 ””)将该字段值蕴含起来。蕴含逗号,双引号,或是换行符的字段必须放在引号内。
6 文件读写时引号,逗号操作规定互逆。
7 内码格局不限,可为 ASCII、Unicode 或者其余。
8 不反对数字
9 不反对特殊字符
留神:CSV 文件最初一行须要保留一个空行,不然执行程序会有正告信息。
读取办法
read.csv()
函数来进行读取,返回的后果为数据框格局。
data <- read.csv("xxx.csv", encoding="UTF-8")
# encoding 默认为操作系统文字编码 GBK,这里对立为 UTF- 8 避免出错。print(data)
读取后能够对数据进行查看,例如查看行数、列数,查问某列最大值、指定值,筛选等操作。
# 输入 data 中 col 列的最大值
max_number = max(data$col)
#输入 data 中 cola 列等于 xx 同时 colb 列小于 mm 的数据。out_n = subset(data,cola == xx & colb < mm)
保留办法
write.csv(待输入文件,文件门路)
函数将数据保留为 csv 文件。待保留的数据最好是数据框模式。
write.csv(data,"data.csv",row.names = FALSE)
# 将 data 数据输入保留为 csv 文件
# row.names = FALSE 示意不增加行名,默认为 TRUE,个别不须要开启。
Excel 文件
根本介绍
Excel 是咱们熟知的一种数据文件格式,十分通用,R 语言中读写 Excel 文件须要装置扩大包 ”xlsx”。
install.packages("xlsx", repos = "https://mirrors.ustc.edu.cn/CRAN/")
library("xlsx")
简直所有的 Excel 软件与大多数表格软件一样反对 CSV 格局的数据,所以齐全能够通过 CSV 与 R 交互,没必要再应用 Excel。
读取办法
# 读取 xxx.xlsx 第一个工作表数据
data <- read.xlsx("xxx.xlsx", sheetIndex = 1)
print(data)
保留办法
write.xlsx(
x, #data.frame 格局的待保留文件
file, #保留门路
sheetName="Sheet1", #工作表名称
col.names=TRUE, #列名
row.names=TRUE, #行名
append=FALSE, #续写状态,TRUE 为在源文件上补充,反之为笼罩
showNA=TRUE #显示缺失值
)
想要将 data1 写 da.xlsx 的 sheet1、data2 写 da.xlsx 的 sheet2 中,如下:
write.xlsx(x, file, sheetName="sheet1")
write.xlsx(x, file, sheetName="sheet2",append=TRUE)
XML 文件
XML 是可扩大标记语言(eXtensible Markup Language),被设计用来传输和存储数据。R 语言读写 XML 文件须要装置扩大包:
install.packages("XML", repos = "https://mirrors.ustc.edu.cn/CRAN/")
查看 XML 文件
查看节点数据,某一行应用 []
, 指定的行和列应用 [[]][[]]
。
# 载入 XML 包
library("XML")
# 设置文件名
out_1 <- xmlParse(file = "xxx.xml")
# 提取根节点
r_n <- xmlRoot(out_1)
# 查看第 2 个节点数据
print(rn[2])
# 查看第 2 个节点的第 3 个数据
print(rn[[2]][[3]])
转换 XML 数据
- 转化为列表
library("XML")
xml_data <- xmlToList(out_1)
- 转化为数据框
library("XML")
xml_dataframe <- xmlToDataFrame("xxx.xml")
JSON 文件
JSON 是存储和替换文本信息的语法,相似 XML,但比 XML 更小、更快,更易解析,R 语言读写 JSON 文件须要装置扩大包。
install.packages("rjson", repos = "https://mirrors.ustc.edu.cn/CRAN/")
library("rjson")
载入数据
result <- fromJSON(file = "xxx.json")
查看数据:输入第 5 行应用 [5]
, 输入 3 行 4 列应用 [[3]][[4]]
。
# 输入第 1 列的后果
print(result[1])
# 输入第 2 行第 2 列的后果
print(result[[2]][[2]])
转化数据
as.data.frame()
函数可能把 json 文件转化为数据框类型,不便后续解决。
# 载入 rjson 包
library("rjson")
# 获取 json 数据
result <- fromJSON(file = "xxx.json")
# 转为数据框
out_data <- as.data.frame(result)
MySQL 文件
MySQL 是最风行的关系型数据库管理系统,R 语言读写 MySQL 文件须要装置扩大包。
install.packages("RMySQL", repos = "https://mirrors.ustc.edu.cn/CRAN/") #原版
install.packages("RMariaDB", repos = "https://mirrors.ustc.edu.cn/CRAN/") #复制版本
读取数据
library(RMySQL)
# dbname 为数据库名
mysqlconnection = dbConnect(MySQL(), user = 'root', password = 'xxxx', dbname = 'test',host = 'localhost')
# 查看数据
dbListTables(mysqlconnection)
应用 dbSendQuery
来读取数据库的表,后果集通过 fetch()
函数来获取。
library(RMySQL)
# 查问 sites 表
result = dbSendQuery(mysqlconnection, "select * from sites")
# 获取后面两行数据
data.frame = fetch(result, n = 2)
参考资料:https://www.runoob.com/r
本文由 mdnice 多平台公布