绑定R中多个数据文件中的选定行

时间:2019-05-17 06:41:46

标签: r rbind

我已经编写了代码,以前可以通过模型为多个文件生成时间序列数据。通常,我需要完整的时间序列数据,但我也想读取特定日期所有列的结果,并将它们合并到一个单独的文件中。但是,当我这样做时,我收到“ 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。

0 个答案:

没有答案