嗨我有一个n数据帧,我用for循环
顺序打开myfiles <- list.files(pattern="*.dat")
myfilesContent <- lapply(myfiles, read.table, header=T, quote="\"")
for (i in 1:length(myfiles)){
...
}
我想做的是只打开一个尊重某个条件并按行合并的行,比如
df <- data.frame
for (i in 1:length(myfiles)){
if(unique(myfilesContent[[i]]$V1) %in% test) df <-merge(df,myfilesContent[[i]])
}
但我收到此错误
Error in as.data.frame.default(x) :
cannot coerce class '"function"' into a data.frame
非常感谢
答案 0 :(得分:2)
试试这个例子:
do.call(rbind,lapply(myfiles, function(x){
dt <- read.table(x, header=TRUE, quote="\"")
if (dt$V1 %in% test) dt
}))
你读了,你只保留检查条件。然后绑定结果。