我有许多相同的文本文件,具有3列和141行数据,用制表符分隔。我想使用循环将它们全部读取到r中,但是我只想读取第二列(最好仅读取49:141行)。我无法使代码仅在1列中读取才能工作,但是没有子设置,它将可以工作,并且将读取整个文件。它读取每个文件作为单独的数据帧。似乎在执行循环时,通常不会使用子设置的符号,因为每个文件都是一个单独的数据帧。
在下面的代码中,我得到了错误:TEST2 [49:141,2]中的错误:尺寸错误。
files<-list.files()
TEST2 <- lapply(files[49:141, 2], function(fn)read.table(fn,header=FALSE, sep="", fill = TRUE))
答案 0 :(得分:0)
files
是您要迭代的对象。您不能以尝试的方式使用索引。而是尝试这样的事情:
files <- list.files()
my_read_function <- function(x) {
data <- read.table(x, header=FALSE, sep="", fill = TRUE)
return(data[49:141, 2])
}
lapply(files, my_read_function)