- read.table()
从带有分隔符的文本文件中导入数据,此函数可读入一个表格格式的文件并将其保存为一个数据框,表格的每一行分别出现在文件中的每一行
mydataframe <- read.table(file,options)
file :是一个带分隔符的 ASCII 文件,
options:控制如何处理数据的选项,常见选项如下表
选项 | 描述 |
header | 是否要读取表头,如 header = TRUE,则读取 |
sep | 分开数据值的分隔符,默认是sep=“ ”,一个或多个空格、制表符、换行或回车、使用 sep=“,”来读取用逗号来份分隔行内数据的文件,使用 sep =“\t”来读取使用制表符来分割行内数据的文件 |
row.names | 一个用于指定一个或多个行标记符的可选参数 |
col.names | 如果数据标签第一行不包括变量名(header = FALSE),你可以用col.names去指定一个包含变量名的字符向量。如果 header = FALSE以及col.names全省略了,则变量名分别以v1,v2,以此类推 |
na.strings | 可选的用于表示缺失值的字符向量,比如说,na.strings = c("-9","?"),把-9 和 ?值在读取数据的时候转换为 NA |
colClasses | 可选的分配到每一列的类向量,比如说:colClasses = c("numeric","numeric","character","NULL","numeric")把前两列读取为数值型变量,把第三列读取为字符型向量,跳过第四列,把第五列读取为数值型变量,如果数据有多列则colClasses会循环。 读取大型文本文件时,加上colClasses可以提升效率 |
quote | 用于对有特殊字符的字符串划定界限的字符串。默认值是双引号 ""或单引号 ' |
skip | 读取数据前跳过的行的数目,这个选项在跳过头注释的时候比较有用 |
stringAsFactors | 一个逻辑型变量,标记处理字符向量是否需要转化为因子,默认值是 TRUE,除非它被 colClases所覆盖, 处理大型文本文件时,设置成stringAsFactors = FALSE 可以提升效率 |
text | 指定文字进行处理的字符串,如果 text被设置了,file应该会被留空 |
- 案例
> setwd("C:\\Users\\Tate\\Desktop\\") #指定工作目录,文件保存的位置> grades <- read.table("studentgrades.txt", header=TRUE,+ row.names="StudentID", sep=",")> grades # print data frame First Lasts Math Science Social.Studies11 Bob Smith 90 80 6712 Jane Weary 75 NA 8010 Dan Thornton, III 65 75 7040 Mary O'Leary 90 95 92> str(grades) # view data frame structure'data.frame': 4 obs. of 5 variables: $ First : Factor w/ 4 levels "Bob","Dan","Jane",..: 1 3 2 4 $ Lasts : Factor w/ 4 levels "O'Leary","Smith",..: 2 4 3 1 $ Math : int 90 75 65 90 $ Science : int 80 NA 75 95 $ Social.Studies: int 67 80 70 92> grades <- read.table("studentgrades.txt", header=TRUE,+ row.names="StudentID", sep=",",+ colClasses=c("character", "character", "character", #字符串默认会转化为因子,要么使用stringAsFactors =F,或指定类型型+ "numeric", "numeric", "numeric"))> grades # print data frame First Lasts Math Science Social.Studies011 Bob Smith 90 80 67012 Jane Weary 75 NA 80010 Dan Thornton, III 65 75 70040 Mary O'Leary 90 95 92> str(grades) # view data frame structure'data.frame': 4 obs. of 5 variables: $ First : chr "Bob" "Jane" "Dan" "Mary" $ Lasts : chr "Smith" "Weary" "Thornton, III" "O'Leary" $ Math : num 90 75 65 90 $ Science : num 80 NA 75 95 $ Social.Studies: num 67 80 70 92