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

目录

一、获取数据

二、读取文件

三、写入文件

四、读写Excel文件

五、读写R格式的文件

参考


一、获取数据

获取数据的三种途径:

1. 利用键盘来输入数据

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

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

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

R语言——文件读写(三)_第1张图片

R语言——文件读写(三)_第2张图片

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

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

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

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

二、读取文件

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

R语言——文件读写(三)_第3张图片

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

R语言——文件读写(三)_第4张图片

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

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

R语言——文件读写(三)_第5张图片

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

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

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

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

R语言——文件读写(三)_第6张图片

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

R语言——文件读写(三)_第7张图片

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为读取的行数

R语言——文件读写(三)_第8张图片

三、写入文件

写入文件

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

数据被写在一个单元中

R语言——文件读写(三)_第9张图片

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

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

R语言——文件读写(三)_第10张图片write.table(b, file = 'E:\\R\\R_file\\new_file.csv',sep = ',', row.names = F):定义row.names为FALSE, 不添加行号

R语言——文件读写(三)_第11张图片

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

R语言——文件读写(三)_第12张图片

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

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

R语言——文件读写(三)_第13张图片

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

R语言——文件读写(三)_第14张图片

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

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

help(package='foreign')

四、读写Excel文件

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

使用read.csv()

R语言——文件读写(三)_第15张图片

使用read.Clipboard()

R语言——文件读写(三)_第16张图片

如果 .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语言入门与数据分析

你可能感兴趣的:(R语言,r语言,开发语言)