设置工作目录setwd()
路径要填完整路径setwd(dir=" 路径")
举例:setwd(dir="C:/Users/kingjie/Desktop/Rdata")
read.table()函数是R最基本函数之一,主要用来读取矩形表格数据。
Usage
read.table(file, header = FALSE, sep = "", quote = "\"'",
dec = ".", numerals = c("allow.loss", "warn.loss", "no.loss"),
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, skipNul = FALSE)
read.csv(file, header = TRUE, sep = ",", quote = "\"",
dec = ".", fill = TRUE, comment.char = "", ...)
read.csv2(file, header = TRUE, sep = ";", quote = "\"",
dec = ",", fill = TRUE, comment.char = "", ...)
read.delim(file, header = TRUE, sep = "\t", quote = "\"",
dec = ".", fill = TRUE, comment.char = "", ...)
read.delim2(file, header = TRUE, sep = "\t", quote = "\"",
dec = ",", fill = TRUE, comment.char = "", ...)
参数解释:
file:
文件名(包在“”内,或者使用一个字符型变量),可能需要全程路径(注意即使是在windows下,符号\也不允许包含在内,必须使用/替换),或者一个URL链接(http://...)(用URL对文件远程访问)。
header:
一个表示文件是否在第一行包含了变量的逻辑型变量。
如果header设置为TRUE,则要求第一行要比数据列的数量少一列。
sep:
分隔数据值的分隔符。默认值为sep =“ ”,表示一个或多个空格、制表符、换行符或回车符。使用sep =“,”来读取被逗号","分隔的文件,使用sep =“\t”来读取制表符分隔的文件
quote:
用于对有特殊字符的字符串划定接线的字符串,默认值是TRUE(")或单引号。(`)
dec:
decimal用于指明数据文件中小数的小数点。
numerals:
字符串类型。用于指定文件中的数字转换为双精度数据时丢失精度的情况下如何进行转换。
row.names:
保存行名的向量。可以使用此参数以向量的形式给出每行的实际行名。或者要读取的表中包含行名称的列序号或列名字符串。
在数据文件中有行头且首行的字段名比数据列少一个的情况下,数据文件中第1列将被视为行名称。除此情况外,在没有给定row.names参数时,读取的行名将会自动编号。
可以使用row.names = NULL强制行进行编号。
col.names:
指定列名的向量。缺省情况下是又"V"加上列序构成,即V1,V2,V3......
Tip:
rownames、colnames是base包中的行名、列名函数;
而row.names、col.names是read.table函数中的行名、参数
在R语言里读入read.table及参数理解与整理
1.read.table参数理解
file:文件名(包在“”内,或者使用一个字符型变量),可能需要全程路径(注意即使是在windows下,符号\也不允许包含在内,必须使用/替换),或者一个URL链接(http://...)(用URL对文件远程访问)。
header:一个逻辑值(FALSE or TRUE)用来反映这个文件的第一行是否包含变量名。
sep:文件中的字段分隔符,例如对用制表符分隔的文件使用sep=“\t”。
quote:指定用于包围字符型数据的字符。
dec:用来表示小数点的字符。
row.names:保存行名的向量,或文件中一个变量的序号或名字,缺省时行号取为1,2,3...
col.names:指定列名的字符向量(缺省值是:V1,V2,V3...)。
as.is:控制是否将字符型变量转化为因子型变量(如果值为FALSE),或者仍将其保留为字符型(TRUE)。as.is可以是逻辑型,数值型或字符型向,用来判断变量是否被保留为字符。
na.strings:代表缺失数据的值(转化NA)。
colClasses:指定各列的数据类型的一个字符型变量。
nrows:可以读取的最大行数(忽略负值)。
skip:在读取数据前跳过的行数。
check.names:如果为TRUE,则检查变量名是否存在R中有效。
fill:如果为TRUE且非所有的行中变量数目相同,则用空白填补。
strip.white:在sep已指定的情况下,如果为TRUE,则删除字符型变量前后多余的空格。
blank.lines.skip:如果为TRUE,忽略空白行。
comment.char:一个字符用来在数据文件中写注释,以这个字符开头的行将被忽略(要禁用这个参数,可使用comment.char="")。
2.运行各参数后,找出你认为读取文件用得比较多的参数
读取文件用得比较多的参数有:
“header”,“sep”,“quote”,“na.strings”,“fill”,“strip.white ”,“blank.lines.skip”,“comment.char ”,“”等等。
3.对上述参数用法进行理解并整理
header:按照惯例,首行只有对应列的字段而没有行标签对应的字段。因此,它会比余下的行少一个字段。(如果需要在 R 里面看到这一行,设置 header = TRUE。)如果要读取的文件里面有行标签的头字段(可能是空的),以下面的方式读取
read.table("file.dat", header = TRUE, row.names = 1)
列名字可以通过 col.names 显式地设定;显式设定的名字会替换首行里面的列名字(如果存在的话)。
sep:通常,打开文件看一下就可以确定文件所使用的字段分隔符,但对于空白分割的文件,可以选择默认的sep = "" (它能使用任何空白符作为分隔符,比如空格,制表符,换行符), sep = " " 或者 sep = "\t"。注意,分隔符的选择会影响输入的被引用的字符串。如果你有含有空字段的制表符分割的文件,一定要使用 sep = "\t"。
quote:默认情况下,字符串可以被 " 或 ' 括起,并且两种情况下,引号内部的字符都作为字符串的一部分。有效的引用字符(可能没有)的设置由参数 quote 控制。对于sep = "\n",默认值改为 quote = ""。如果没有设定分隔字符,在被引号括起的字符串里面,引号需要用 C格式的逃逸方式逃逸,即在引号前面直接加反斜杠 \。如果设定了分隔符,在被引号括起的字符串里面,按照电子表格的习惯,把引号重复两次以达到逃逸的效果。
na.strings :默认情况下,文件是假定用 NA 表示缺损值,但是,这可以通过参数 na.strings 改变。参数 na.strings 是一个可以包括一个或多个缺损值得字符描述方式的向量。 数值列的空字段也被看作是缺损值。在数值列,值 NaN,Inf 和 -Inf 都可以被接受的。
fill:从一个电子表格中导出的文件通常会把拖尾的空字段。
strip.white :如果设定了分隔符,字符字段起始和收尾处的空白会作为字段一部分看待的。为了去掉这些空白,可以使用参数 strip.white = TRUE。
blank.lines.skip:默认情况下,read.table 忽略空白行。这可以通过设置 blank.lines.skip = FALSE 来改变。但这个参数只有在和 fill = TRUE 共同使用时才有效。这时,可能是用空白行表明规则数据中的缺损样本。
comment.char:默认情况下,read.table 用 # 作为注释标识字符。如果碰到该字符(除了在被引用的字符串内),该行中随后的内容将会被忽略。只含有空白和注释的行被当作空白行。
如果确认数据文件中没有注释内容,用 comment.char = "" 会比较安全 (也可能让速度比较快)。
4.read.csv参数理解
file:文件名(包在“”内,或者使用一个字符型变量),可能需要全程路径(注意即使是在windows下,符号\也不允许包含在内,必须使用/替换),或者一个URL链接(http://...)(用URL对文件远程访问)。
header:一个逻辑值(FALSE or TRUE)用来反映这个文件的第一行是否包含变量名。
sep:文件中的字段分隔符,例如对用制表符分隔的文件使用sep=“\t”。
quote:指定用于包围字符型数据的字符。
dec:用来表示小数点的字符。
fill:如果为TRUE且非所有的行中变量数目相同,则用空白填补。
comment.char:一个字符用来在数据文件中写注释,以这个字符开头的行将被忽略(要禁用这个参数,可使用comment.char="")。
作者:Ashu
链接:https://www.jianshu.com/p/fc374c7cd2a2
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。










网友评论