我正在使用包含不同数量元素的许多长行的文本文件。行中的每个元素都以\ t分隔,当然行以\ n结尾。我正在使用read.table来读取文本文件。示例文件是:https://www.dropbox.com/s/6utslbnwerwhi58/samplefile.txt
示例文件有60行。
读取文件的代码:
sampleData <- read.table("samplefile.txt", as.is=TRUE, fill = TRUE);
dim(sampleData);
dim返回70行,实际上它应该是60.当我尝试nrows = 60之类的
sampleData <- read.table("samplefile.txt", as.is=TRUE, fill = TRUE, nrows = 60);
dim(sampleData);
它确实有效,但是,我不知道这样做是否会删除一些信息。我怀疑是某些行的最后部分被添加到新行中。我不知道为什么会这样,因为我有fill = TRUE;
我也试过
na.strings =“NA”,fill = TRUE,strip.white = TRUE,blank.lines.skip = TRUE,stringsAsFactors = FALSE,quote =“”,comment.char =“”
但无济于事。
有没有人知道可能会发生什么?
答案 0 :(得分:2)
如果没有可重复的示例,请尝试以下方法:
# Make some fake data
R <- c("1 2 3 4","2 3 4","4 5 6 7 8")
writeLines(R, "samplefile.txt")
# read line by line
r <- readLines("samplefile.txt")
# split by sep
sp <- strsplit(r, " ")
# Make each into a list of dataframes (for rbind.fill)
sp <- lapply(sp, function(x)as.data.frame(t(x)))
# now bind
library(plyr)
rbind.fill(sp)
如果这与您的实际问题类似,无论如何。