在R中,可以使用read.table()函数方便的读取具有多列表格形式的文件数据。文件中的数据一般情况,行对应的是样本,列(字段)对应着相应的变量。读取的数据将组织成数据框的结构。具体形式和参数解释可以参考本站中的这篇文章:R语言中read.table()函数用法详解。
本文主要给出一些具体的使用形式。
read.table()函数对于数据文件的扩展名并没有要求。只要数据组织时是按照行和列的形式进行组织,且每个字段的数据以某种形式(如空白、逗号等)进行分隔即可。如下面两个图所示的文件格式都可以,甚至是使用其他分隔符分隔的也可以。
图1 数据文件以空白(tab)进行分隔的形式
(1)read.table("gi.txt") #直接给出文件名称,没有指定额外的参数
结果形式如下:
在没有给定分隔符时,默认以空白分隔(空格或tab制表符),并且可以看出原文件中的标题行也作为数据进行了处理。在没有给定字段(变量)名称时,read.table()函数依次给每列的变量名为v1,v2,...。读取结果的第1列为行标标题。
(2)read.table("gi.txt",header=TRUE) #指定header为TRUE,指明原文件中包含变量名(字段名)
读取结果如下:
(3)read.table("gi.txt",header=TRUE,col.names=c("year","x","y")) #指定列名的情形
结果如下:
(4)read.table("0504多元回归开店问题.csv")
可以看出在以逗号作为分隔符的文件中,如果不指定数据的分隔符,read.table()函数会将所有的数据理解为一个字段(变量)下的数据。如果要正确读出原数据的格式,可以使用下面的格式:
(5)read.table("0504多元回归开店问题.csv",header=TRUE,sep=",")
可以看出,这次读取的数据是符合要求的形式。
有时,我们只需要前N行的数据,这时,可以指定nrows参数。
(6)read.table("0504多元回归开店问题.csv",header=TRUE,sep=",",nrows=15) #读取前15行的数据
这样指定nrows=15,则read.table()函数只读取前15行的数据(不含标题行)。
有时,我们需要忽略前m行的数据,则可以指定skip参数。
(7)read.table("0504多元回归开店问题.csv",header=TRUE,sep=",",skip=5) #忽略前5行的数据
这样指定skip=5后,read.table()函数将从第6行数据读取。
以上是关于read.table()函数经常使用的格式。
本文(完)
新闻热点
疑难解答