我有一个文件,其中每一行都是一串数字。行示例: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的其他选项,但问题仍然存在
答案 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")