0 引言
使用R语言、Python等进行数据处理的第一步就是要导入数据(也可以使用UCI数据集),下文主要根据R语言的帮助文档来介绍外部文件数据的导入方法和注意事项。下面先附上一些指令。
1 格式read.table
read.table(file, header = FALSE, sep ="", quote = ""'",dec = ".", skip = 0,strip.white = FALSE, blank.lines.skip =TRUE,comment.char = "#")
(1) file表示要读取的文件。file可以是
①绝对路径或者相对路径。一定要注意,在R语言中是转义符,所以路径分隔符需要写成"\"或者“/”。
①绝对路径或者相对路径。一定要注意,在R语言中是转义符,所以路径分隔符需要写成"\"或者“/”。
所以写成“C:\myfile\myfile.txt”或者“C:/myfile/myfile.txt”即可。
②使用file.choose(),弹出对话框,自动选择文件位置。例如:read.table(file.choose(),...)。
②使用file.choose(),弹出对话框,自动选择文件位置。例如:read.table(file.choose(),...)。
②使用剪切板导入。先excel文件copy到剪贴板,执行下面的语句,即可导入R
read.table("clipboard",sep=" ")
Excel的文件中,每个单元格以制表符分隔,而sep=“ ”的意思是,以制表符进行分割来读取数据。当剪贴的excel中有空格时,需使用sep=“ ”,否则报错。 例如
> dp<-read.table("clipboard",sep=" ") #使用剪切板导入数据
> dp #输出
显示结果如下:
(2) header来确定数据文件中第一行是不是标题。默认F,即认为数据文件没有标题,也即认为第一行就开始是数据了!例如:
name age income
Tom 22 8000
如果header=F,读进来的第一行数据是“name age income”,header=T,读进来的第一行是“Tom 22 8000”。
(3)sep指定分隔符,默认是空格。quote是引号,默认就是双引号。dec是小数点的表示,默认就是一个点。skip是确定是否跳过某些行。strip.white确定是否消除空白字符。blank.lines.skip确定是否跳过空白行。comment.char指定用于表示注释的引导符号。
这是常用的参数设置,一般情况下,我们只需要默认值就够了。
下面是一个简单的例子,首行是标题而不是数据,使用“ ”进行分割而不是空格。读取后的数据变量设为mydata。所以,可以写出读取方式为:
mydata<-read.table(file.choose(),header=T,sep=" ")
其中,T=TRUE,F=FALSE。
2 格式read.csv
read.csv(file, header = TRUE, sep = ",",quote=""", dec=".",fill = TRUE,comment.char="")
注释:csv是逗号分割的意思,所以sep必须是逗号。header是默认有标题的。fill默认填充,即遇到行不相等的情况,空白域自动添加既定值。
如果使用默认的设置,可以使用写出:
mydata2<-read.csv(file.choose())
3 格式read.xlsx
这个在最开始的时候有写过,在这里就不再详细叙述了。
4 总结
虽然读取文件的格式比较多,但是常用的比较少,把常用的熟悉了就可以。另外,多使用help语句和命令窗口输入“?函数”,查看右侧的提示即可减省很多时间,提高学习效率。
如输入“?read.table”,则在Rstdio界面的右下角就会出现其用法。