R:从带分隔符的文本文件导入数据


    可以使用read.table()从带分隔符的文本文件中导入数据。此函数可读入一个表格格式的文件并将其保存为一个数据框。其语法如下:

Mytable  <- read.table( filename, header = LogicalValue, sep = "delimiter", row.names = "name" )

    其中,file是一个带分隔符的ASCII文本文件,header是一个表明首行是否包含了变量名的逻辑值(TRUE或FALSE),sep用来指定分隔数据的分隔符,rows.names是一个可选参数,用以指定一个或多个表示行标识符的变量。

mytable <- read.table( "D:/RCodes/mytable.csv",header=TRUE,sep=",", row.names="id" )

注:参数sep允许导入那些使用逗号以外的符号来分隔行内数据的文件。你可以使用sep="\t"读取以制表符分隔的文件。此参数的默认值为sep="",即表示分隔符可为一个或多个空格、制表符、换行符或回车符。

    从指定位置读入了一个名为mytable.csv的逗号分隔文件,从文件的第一行取得了各变量的名称,将变量id指定为行标识符。最后将结果保存到了名为mytable的数据框中。

    默认情况下,字符型变量将转换为引子。我们并不总是希望程序这样做,有很多办法禁止这种转换行为。其中包括设置选项stringsAsFactors=FALSE,这将停止对所有字符型变量的此种转换。另一种方法是使用选项colClasses为每一列指定一个类,例如logical(逻辑型)、numeric(数值型)、character(字符型)、factor(因子)。

    函数read.table()还拥有许多微调数据导入方式的追加选项。更多详情,可以参考help(read.table)。

 

    也可以直接使用下面的命令导入.csv格式的文件:

mytable <- read.csv( "D:/RCodes/mytable.csv" )

 

    函数read.table()的格式及参数格式:

read.table(file, header = FALSE, sep = "", quote = "\"'", dec = ".",row.names, col.names, as.is = FALSE, 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 = "#")

函数read.table()选项值及说明

  选项值

                                       说明

 file

  文件名(包在""内,或使用一个字符型变量),可能需要全路径

 header

  一个逻辑值(FALSE或TRUE),用来反映这个文件的第一行是否包含变量名

 sep

  文件中的字段分离符

 quote

  指定用于包围字符型数据的字符

 dec

  用来表示小数点的字符

 row.names

  保存着行名的向量,或文件中一个变量的序号或名字,缺省时行号取为1,2,3,……

 col.names

  指定列名的字符向量

 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

  一个字符用来在数据文件中写注释,以这个字符开头的行被忽略

 

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值