删除r

时间:2018-08-19 11:53:47

标签: r read.table

我有一个文件,其中每一行都是一串数字。行示例:0234

此文件的示例:

00020
04921
04622
...

当我使用read.table时,它删除每一行的所有前0(00020变为20、04921-> 4921,...)。我使用:

example <- read.table(fileName, sep="\t",check.names=FALSE)

此后,为了获得向量,我使用as.vector(unlist(example))

我尝试了read.table的其他选项,但问题仍然存在

2 个答案:

答案 0 :(得分:2)

read.table默认检查列值,并相应地更改列类型。如果需要自定义类型,请使用colClasses

进行指定
example <- read.table(fileName, sep="\t",check.names=FALSE, 
           colClasses = "character", stringsAsFactors = FALSE)

当我们不指定colClasses时,该函数使用type.convert根据值自动分配列类型

read.table # function
...
...
 data[[i]] <- if (is.na(colClasses[i])) 
        type.convert(data[[i]], as.is = as.is[i], dec = dec, 
            numerals = numerals, na.strings = character(0L))
 ...
 ...

答案 1 :(得分:1)

如果我正确理解了该问题,则可以使用read.table读取数据文件,但是由于要使用矢量而不是数据帧,因此请unlist df。而且您想保留前导零。
有一种更简单的方法可以使用scan

example <- scan(file = fileName, what = character(), sep = "\t")