我已经编写了代码,以前可以通过模型为多个文件生成时间序列数据。通常,我需要完整的时间序列数据,但我也想读取特定日期所有列的结果,并将它们合并到一个单独的文件中。但是,当我这样做时,我收到“ rbind(deparse.level,...)中的错误: 参数的列数不匹配”,尽管事实上我知道所有文件都应具有相同的列名和列数。
我在Select multiple rows in multiple DFs with loop in R处尝试了该方法,但出现了错误“ rbind(deparse.level,...)中的错误: 参数的列数不匹配“
Resfiles = list.files("C:/Users/Me/Desktop/R Code/Testfiles", pattern = "Results+.*csv")
Resfiles
我是如何读取文件的
方法1:
resfiles.list = sapply(Resfiles, function(file)
{df = read.csv(file, header=TRUE, stringsAsFactors=FALSE)
df$SourceFile = file
enddate = nrow(file)
df = df[c(1,2,21,133,159,enddate), ]
}
)
allres = do.call(rbind, resfiles.list)
生成错误“ rbind(deparse.level,...)中的错误: 参数的列数不匹配“
和方法2:
Results = NULL;
for(j in Resfiles)
{
input = read.csv(file = j, header = TRUE, sep =",")
enddate = nrow(input)
d0 = input[1, ]
d0
d1 = input[2, ]
d20 = input[21,]
d132=input[133, ]
d158 = input[159, ]
final = input[enddate, ]
final
results1o = rbind(d0, d1, d20, d132, d158, final)
Results = rbind(Results,results1o )
print(Results)
}
write.csv(Results, file = "PredResults.csv")
当我尝试使用smartbind方法2时,出现错误“!sapply(data,function(l)is.null(l)|(ncol(l)== 0)|(nrow(l)= =: 无效的参数类型”
如果我仅使用rbind,则会收到“ read.table中的错误(文件=文件,标头=标头,sep = sep,引用=引用,: 前五行为空:放弃”
我想要得到的是一个数据框,其中具有按动物分组的特定关注行,以后可以根据需要对其进行子集和处理。我只需要能够读取这些40多个结果文件,将所有需要的行提取到一个大数据框中,然后将其保存为csv,并且需要它可扩展,以便无论我是否有40个文件,相同的代码都可以工作或> 100。