R语言——文件读写(三)

本文介绍了如何在R语言中获取数据,包括键盘输入、文件读取(如CSV、Excel、RDS等)、数据库连接以及文件写入(包括CSV、txt、Excel和压缩文件)。重点讲解了不同文件格式的读写方法和RDS/Rdata对象的存储与加载。
摘要由CSDN通过智能技术生成

目录

一、获取数据

二、读取文件

三、写入文件

四、读写Excel文件

五、读写R格式的文件

参考


一、获取数据

获取数据的三种途径:

1. 利用键盘来输入数据

2. 通过读取存储在外部文件上的数据

3. 通过访问数据库系统来获取数据

edit():定义一个数据编辑器,可直接输入修改数据,关闭编辑器,数据自动保存到变量中,注意这里需要将修改后的数据重新指向一个变量名,才可以成功保存

fix():可以直接修改并保存,不需要重新定义变量名

通过访问数据库系统来获取数据

ODBC是开放数据库连接Open Database Connectivity的简称。

install.packages("RODBC"):安装ODBC

二、读取文件

read.table('文件路径'):注意这里的路径用" \\ "或" / "。

sep:表示用什么分隔符分隔字段,默认为以空格分隔

如果文件过长,可以用head(x, n=10),tail(x, n=10)打开前十行或后十行。

header:作用是在读取数据时,是否将第一行数据作为变量的名称。

skip:表示跳过部分行内容,表示从第几行读数据

这里跳过了第一行的表头信息

nrows:读取文件的部分内容,表示读多少行

配合skip则可以读取文件中的任意行,表示从 skip 开始读,读 nrows 行

如果已知文件中使用什么符号代表缺失值,则可以使用 na.strings 替换为 “NA”

read.csv(x, sep=";"):默认分隔符为“ ,”,可以直接用来读取csv文件,也可以设置sep修改分隔符为“ ;”或其他

read.delim(x, sep='\t'):可以使用制表符进行分隔

如果想要读取的文件不在本地,R也支持读取网络文件

将本地路径修改为网络文件地址即可

read.table('https://codeload.github/masterpeace')  # 会被墙

install.packages('XML') : 安装XML包

使用 readHTMLTable 读取网页中的数据

R可以导入其他统计软件格式的数据,如SPSS等

R 可以直接读取压缩文件

read.table(gzfile("input.txt.gz")

不规则格式文件的读取

readLines(file, n):读取一行数据,n为读取的行数

三、写入文件

写入文件

write.table(b, file = 'E:\\R\\R_file\\new_file.csv')

数据被写在一个单元中

write.table(b, file = 'E:\\R\\R_file\\new_file.csv',sep = ','):添加分隔符

写入文件时,R又自动添加了行号

write.table(b, file = 'E:\\R\\R_file\\new_file.csv',sep = ',', row.names = F):定义row.names为FALSE, 不添加行号

write.table(b, file = 'E:\\R\\R_file\\new_file.txt',sep = ',', row.names = F):R会为字符串自动天添加双引号

如果不想要双引号,则定义 “quote”参数为“FALSE”。

write.table(b, file = 'E:\\R\\R_file\\new_file.txt',sep = ',', row.names = F, quote = F)

追加写入:write.table(b, file = 'E:\\R\\R_file\\new_file.txt',sep = ',', row.names = F,col.names = F, quote = F,append = T)

直接写成压缩文件:write.table(b, gzfile('E:\\R\\R_file\\new_file.txt.gz'))

写成其他统计软件支持的格式

help(package='foreign')

四、读写Excel文件

将.xlsx 文件转为 .csv 文件读取 

使用read.csv()

使用read.Clipboard()

如果 .xlsx 文件中包含多个工作表,则存为.csv 的方式就不适用了。

使用 readxl 包

install.packages('readxl')

library(readxl)

a <- read_xlsx(parh, sheet = 'sheet_name')

使用 openxlsx 包

install.packages('openxlsx')

library(openxlsx)

a<-read.xlsx("test.xlsx",sheet=1)

五、读写R格式的文件

        存储为R文件会有很多优势,R会对存储为内部文件格式的数据进行自动压缩处理,并且会存储所有与待存储对象相关的R元数据。如果数据中包含了因子,日期和时间或者类的属性等信息,这种存储方式,显得更加实用。

RDS保存单个R对象

读取 iris 数据集并存储为 RDS格式文件

saveRDS(iris, file = 'E:\\R\\R_file\\iris.RDS')

读取RDS文件

x <- readRDS('E:\\R\\R_file\\iris.RDS')

Rdata可以保存多个R对象

保存Rdata文件

save(iris, iris3, file = 'iris.Rdata')

保存工作空间中的所有对象 

save.image()

或者在命令行输入 q() ,选择 “y” ,则在退出R studio之前将工作空间保存在当前工作目录下。

加载Rdata文件:load(path)

加载 Rdata 文件,并不会提示加载了那些对象,可在 R studio 右上角窗口的 Environment 中查看有哪些对象。

或者点击左上角 File → Save 保存工作空间

点击 File → Open Project 打开工作空间

Rdata中的对象与当前工作空间的对象名冲突,此时加载Rdata则会覆盖掉当前空间中的对象。

参考

R语言入门与数据分析

  • 26
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Billie使劲学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值