1. 纯文本文件
将数据表存储在纯文本文件中;
文本中每一行对应数据表的每一行;
每一行的不同元素用一些简单的符号进行分隔,常用的有逗号,空格,制表符等;
一个文件使用统一的分隔符
文件的扩展名一般为.txt;若文件中分隔符为逗号,则扩展名为.csv
- read.table()函数
read.table(file, header = FALSE, sep = “”, row.names, col.names,na.strings = “NA”, nrows = -1, skip = 0, check.names = TRUE)
file:要从其中读取数据的文件的名称
header:一个逻辑值,指示文件是否在第一行包含变量的名称
sep:设置字段分隔符
row.names:由行名组成的向量。
col.names:变量的可选名称向量。
na.string:一个字符串向量,它被解释为NA值
nrows:整数:可读入的最大行数。负值和其他无效值将被忽略。
skip:整数:在开始读取数据之前要跳过的数据文件的行数。
当文件跟源程序在同一个文件夹下(即当前文件夹),可直接引用文件名
> read.table("input.txt")
Ozone Solar.R Wind Temp Month Day
1 41 190 7.4 67 5 1
2 36 118 8.0 72 5 2
3 12 149 12.6 74 5 3
4 18 313 11.5 62 5 4
5 NA NA 14.3 56 5 5
......
147 7 49 10.3 69 9 24
148 14 20 16.6 63 9 25
149 30 193 6.9 70 9 26
150 NA 145 13.2 77 9 27
151 14 191 14.3 75 9 28
152 18 131 8.0 76 9 29
153 20 223 11.5 68 9 30
可以用getwd()函数获取当前文件路径
可以用setwd()函数更改当前文件路径
#获取当前文件路径
> getwd()
[1] "E:/R-workplace/1"
#说明当前文件路径中没有input 1.txt这个文件
> read.table("input 1.txt")
Error in file(file, "rt") : 无法打开链结
此外: Warning message:
In file(file, "rt") : 无法打开文件'input 1.txt': No such file or directory
#更改当前文件路径
> setwd("E:/R-workplace/1/Rdata")
> read.table("input 1.txt")
Ozone Solar.R Wind Temp Month Day
1 41 190 7.4 67 5 1
2 36 118 8.0 72 5 2
3 12 149 12.6 74 5 3
4 18 313 11.5 62 5 4
5 NA NA 14.3 56 5 5
......
146 36 139 10.3 81 9 23
147 7 49 10.3 69 9 24
148 14 20 16.6 63 9 25
149 30 193 6.9 70 9 26
150 NA 145 13.2 77 9 27
151 14 191 14.3 75 9 28
152 18 131 8.0 76 9 29
153 20 223 11.5 68 9 30
文件不在当前文件夹,可用全路径
> read.table("E:/R-workplace/1/Rdata/input 1.txt")
Ozone Solar.R Wind Temp Month Day
1 41 190 7.4 67 5 1
2 36 118 8.0 72 5 2
3 12 149 12.6 74 5 3
4 18 313 11.5 62 5 4
5 NA NA 14.3 56 5 5
......
146 36 139 10.3 81 9 23
147 7 49 10.3 69 9 24
148 14 20 16.6 63 9 25
149 30 193 6.9 70 9 26
150 NA 145 13.2 77 9 27
151 14 191 14.3 75 9 28
152 18 131 8.0 76 9 29
153 20 223 11.5 68 9 30
- head(x,n)函数,tail()函数
用来截取文件头部跟尾部固定的行数,默认为6行
n设置截取行数
> x <- read.table("E:/R-workplace/1/Rdata/input 1.txt")
> head(x)
Ozone Solar.R Wind Temp Month Day
1 41 190 7.4 67 5 1</