分享

R语言中读取外部文件

 微笑如酒 2017-12-27
使用R语言的时候,如果是少量数据,不妨使用c()或其他函数进行创建;但是对于大量数据,最好还是先通过其他更方便的软件创建数据文件,然后使用R读入这个文件。
前文说,.csv是非常好的数据文件格式,跨平台支持非常好。我在Excel或者SPSS中创建的数据,只要存为csv格式,就可以使用几乎任何数据处理软件对这些数据进行处理了。
R语言中读取外部文件的最基本函数是read.table(),先介绍read.table(),然后再介绍专门用来读csv的read.csv()。
敲入?read.table命令,就看到了关于数据输入函数的说明。对read.table,使用格式是这样的;
read.table(file, header = FALSE, sep ="", quote = "\"'",
dec = ".", row.names,col.names,
as.is = !stringsAsFactors,
na.strings = "NA", colClasses = NA, nrows= -1,
skip = 0, check.names = TRUE, fill =!blank.lines.skip,
strip.white = FALSE, blank.lines.skip =TRUE,
comment.char = "#",
allowEscapes = FALSE, flush =FALSE,
stringsAsFactors =default.stringsAsFactors(),
fileEncoding = "", encoding = "unknown",text)
参数很多,最常用的也就几个,重写如下:
read.table(file, header = FALSE, sep ="", quote = "\"'",
dec = ".", skip = 0,
strip.white = FALSE, blank.lines.skip =TRUE,
comment.char = "#")
file表示要读取的文件。file可以是
①绝对路径或者相对路径,但是一定要注意,因为在R语言中\是转义符,所以路径分隔符必须写成\\,比如“C:\\myfile\\myfile.txt”或者
Sys.setenv(JAVA_HOME='C://Program Files/Java/jdk1.6.0_21/jre')
②可以使剪切板的内容。
③使用file.choose(),弹出对话框,让你选择文件位置。强烈推荐使用第三种方法,免去了记忆和书写文件路径的麻烦,特别是能够避免因数据文件位置移动带来的错误!例如:read.table(file.choose(),...)。
header来确定数据文件中第一行是不是标题。默认F,即认为数据文件没有标题,也即认为第一行就开始是数据了!例如:
姓名 年龄 收入
小六 12 350
如果header=F,读进来的第一行数据是“姓名 年龄收入”,header=T,读进来的第一行是“小六 12 350”。
sep指定分隔符,默认是空格。quote是引号,默认就是双引号。dec是小数点的表示,默认就是一个点。skip是确定是否跳过某些行。strip.white确定是否消除空白字符。blank.lines.skip确定是否跳过空白行。comment.char指定用于表示注释的引导符号。
一般情况下,我们只需要默认值就够了。
下面是一个简单的例子,本例子中,首行是标题而不是数据,使用\t进行分割而不是空格。读取后的数据变量设为mydata。所以,可以写出读取方式为:
mydata<-read.table(file.choose(),header=T,sep="\t")
其中,T和TRUE的效果是一样的,正如F和FALSE的效果是一样的。

和read.table有所不同的,是read.csv的默认参数有别。注意看,header和sep的默认值。
read.csv(file, header = TRUE, sep = ",",quote="\"", dec=".",
fill = TRUE,comment.char="")
因为csv就是逗号分割的意思,当然sep必须是逗号。header也是默认有标题的。fill是默认填充的,即遇到行不相等的情况,空白域自动添加既定值。如果使用默认的设置,可以写出:
mydata2<-read.csv(file.choose())
十分简单。
对于读取剪切板的方式,不推荐使用。我们之所以使用读取文件,就是增加程序的可复用性,而读剪切板显然是破坏了这种初衷的。因此,不到万不得已,尽量使用文件路径或者文件选择的形式。
对于其他软件的专用格式,是要使用扩展包的,比如常见的foreign包引入之后,可以读Minitab,S, SAS, SPSS, Stata, Systat,dBase等软件专用格式的数据文件。这个操作此处就不谈了。
最后,提醒大家一定要勤使用、多使用help。RStudio的布局,让help查看十分便捷。很多时候,忘了某个命令怎么玩,只要在命令窗口输入“?某函数”,就可以边看右侧的提示,边在左侧命令栏继续工作,只需要左右晃动几下眼睛而已,将不会再为命令单词怎么拼、共有哪些参数可选等问题而困扰!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多