一、读取文本文件 ( .txt)
读取函数可以是:read.table()、scan()、read.fwf(),也可以将.txt转换为.csv或.xlsx文件用其他函数读取。
1、read.table()函数是R最基本函数之一,使用好它可以简单的从文本文件或CSV这种文件中读取数据。
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)
参数说明:
(1)file:要读取的文件名称,要加上文件的完整路径,不加的话默认以当前路径。
eg:
测试文本文件:1.txt
注意:在这里创建的文件最后一行要有换行,换行到下一行的开头在read的时候就没有warning。
(2)header:表示文件是否在第一行包含了变量的逻辑型变量,默认为false,此情况下由文件格式来确定此值,如果header为true,则要求第一行要比数据列的数据少一列。
(3)sep:分开数据的分隔符,read.table()函数以空白作为数据的分隔符。若读取CSV文件,则需要指定sep="," 。
(4)quote:用于对有特殊字符的字符串划定接线的字符串,默认值是TRUE(")或单引号。(`)
(5)dec:decimal用于指明数据文件中小数的小数点。
(6)numerals:字符串类型。用于指定文件中的数字转换为双精度数据时丢失精度的情况下如何进行转换。
(7)row.names:保存行名的向量。可以使用此参数以向量的形式给出每行的实际行名。或者要读取的表中包含行名称的列序号或列名字符串。
(8)col.names:指定列名的向量。缺省情况下是又"V"加上列序构成,即V1,V2,V3......
eg:
(9)as.is
该参数用于确定read.table()函数读取字符型数据时是否转换为因子型变量。当其取值为FALSE时,该函数将把字符型数据转换为因子型数据,取值为TRUE时,仍将其保留为字符型数据。其取值可以是逻辑值向量(必要时可以循环赋值),数值型向量或字符型向量,以控制哪些列不被转换为因子。
注意:可以通过设置参数 colClasses = "character"来阻止所有列转换为因子,包括数值型的列。
(10)na.strings
可选的用于表示缺失值的字符向量。
na.strings=c("-9","?")把-9和?值在读取数据时候转换成NA
(11)colClasses
用于指定列所属类的字符串向量。
(12)nrows
整型数。用于指定从文件中读取的最大行数。负数或其它无效值将会被忽略。
(13)skip
整型数。读取数据时忽略的行数。
eg: 读取数据时忽略第一行,即不读
(14)check.names
逻辑值。该参数值设置为TRUE时,数据框中的变量名将会被检查,以确保符在语法上是有效的变量名称。
(15)fill
逻辑值。在没有忽略空白行的情况下(即blank.lines.skip=FLASE),且fill设置为TRUE时,如果数据文件中某行的数据少于其他行,则自动添加空白域。
(16)strip.white
逻辑值,默认为FALSE。此参数只在指定了sep参数时有效。当此参数设置为TRUE时,数据文件中没有包围的字符串域的前边和后边的空格将会被去掉。
(17)blank.lines.skip
逻辑值,此参数值设置为TRUE时,数据文件中的空白行将被忽略。默认值为TRUE。
(18)comment.char
字符型。包含单个字符或空字符的向量。代表注释字符的开始字符。可以使用""关闭注释。
(19)allowEscapes
逻辑值。类似“\n”这种C风格的转义符。如果这种转义符并不是包含在字符串中,该函数可能解释为字段分隔符。
(20)flush
逻辑值。默认值为FALSE。当该参数值设置为TRUE时,则该函数读取完指定列数后将转到下一行。这允许用户在最后一个字段后面添加注释。
(21)stringsAsFactors
逻辑值,标记处字符向量是否需要转化为因子,默认是TRUE。
(22)encoding :假定输入字符串的编码方式。
(23)skipNul:逻辑值。是否忽略空值。默认为FALSE。
原文参考出处:https://www.jianshu.com/p/90e1d430c9ef