R语言笔记丨数据储存文件的类型与介绍

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: R语言笔记丨数据储存文件的类型与介绍

今天笔记的主要内容是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

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
数据可视化 数据挖掘
R语言用igraph对上海公交巴士路线数据进行复杂网络、网络图可视化
R语言用igraph对上海公交巴士路线数据进行复杂网络、网络图可视化
|
2天前
|
机器学习/深度学习 数据可视化
数据分享|R语言用RFM、决策树模型顾客购书行为的数据预测
数据分享|R语言用RFM、决策树模型顾客购书行为的数据预测
|
2天前
|
数据可视化 数据挖掘
数据分享|R语言分析上海空气质量指数数据:kmean聚类、层次聚类、时间序列分析:arima模型、指数平滑法
数据分享|R语言分析上海空气质量指数数据:kmean聚类、层次聚类、时间序列分析:arima模型、指数平滑法
|
2天前
|
数据可视化
R语言淮河流域水库水质数据相关性分析、地理可视化、广义相加模型GAM调查报告
R语言淮河流域水库水质数据相关性分析、地理可视化、广义相加模型GAM调查报告
|
2天前
数据分享|R语言回归模型诊断、离群值分析学生考试成绩、病人医护质量满意度、婴儿死亡率和人均收入、针叶树荫面积数据
数据分享|R语言回归模型诊断、离群值分析学生考试成绩、病人医护质量满意度、婴儿死亡率和人均收入、针叶树荫面积数据
|
2天前
|
机器学习/深度学习 数据可视化
R语言MCMC的lme4二元对数Logistic逻辑回归混合效应模型分析吸烟、喝酒和赌博影响数据
R语言MCMC的lme4二元对数Logistic逻辑回归混合效应模型分析吸烟、喝酒和赌博影响数据
|
2天前
|
算法 数据可视化 Python
【视频】逆变换抽样将数据标准化和R语言结构化转换:BOX-COX、凸规则变换方法
【视频】逆变换抽样将数据标准化和R语言结构化转换:BOX-COX、凸规则变换方法
25 1
|
2天前
|
机器学习/深度学习 算法 前端开发
【视频】为什么要处理缺失数据?如何用R语言进行缺失值填充?
【视频】为什么要处理缺失数据?如何用R语言进行缺失值填充?
11 1
|
2天前
|
数据可视化 知识图谱
数据分享|R语言、SAS潜类别(分类)轨迹模型LCTM分析体重指数 (BMI)数据可视化
数据分享|R语言、SAS潜类别(分类)轨迹模型LCTM分析体重指数 (BMI)数据可视化
|
2天前
|
机器学习/深度学习 算法 TensorFlow
【视频】神经网络正则化方法防过拟合和R语言CNN分类手写数字图像数据MNIST|数据分享
【视频】神经网络正则化方法防过拟合和R语言CNN分类手写数字图像数据MNIST|数据分享

热门文章

最新文章