目录
一、获取数据
获取数据的三种途径:
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则会覆盖掉当前空间中的对象。