7.1 read.table()函数
为了可以直接读取整个数据框,外部文件常常要求有特定的格式。
- 第一行可以有该数据框各个变量的名字。
- 随后的行中第一个条目是行标签,其他条目是各个变量的值。
在文件中,第一行比第二行少一个条目,这样做是被强制要求的1。因此一个被 看作数据框读入文件的开头几行应该是下面的形式。
# 有列名字和行标签的输入文件格式:
Price Floor Area Rooms Age Cent.heat
01 52.00 111.0 830 5 6.2 no
02 54.75 128.0 710 5 7.5 no
03 57.50 101.0 1000 5 4.2 no
04 57.50 131.0 690 6 8.8 no
05 59.75 93.0 900 5 1.9 yes
...
默认情况下,数值项(除了行标签)以数值变量的形式读入, 而非数值变量则以因子的形式读入,如例子中的 Cent.heat
项。在必要时可以改变变量类型。
函数 read.table()
可以用来直接读入数据框
> HousePrice <- read.table("houses.data")
你常常需要忽略掉行标签而直接使用默认的行标签。这种情况下,输入文件就如 下面所示的一样省略行标签。
# 没有行标签的输入文件格式:
Price Floor Area Rooms Age Cent.heat
52.00 111.0 830 5 6.2 no
54.75 128.0 710 5 7.5 no
57.50 101.0 1000 5 4.2 no
57.50 131.0 690 6 8.8 no
59.75 93.0 900 5 1.9 yes
...
这时,数据框可用如下命令读入
> HousePrice <- read.table("houses.data", header=TRUE)
其中 header=TRUE
选项指定第一行是标题行,并且因此省略文件中给定的行标签。
1. 译者注:你可以让第一行和第二行条目数一致。但是 R 会把第一行当作数据数据处理而不是你所期望的变量名。可以通过设定 read.table() 的参数 header=TRUE 来解决这个问题。 ↩