r - 在 R 中绑定多个数据文件中的选定行
问题描述
我已经编写了代码,以前从多个文件的模型中生成时间序列数据。我一般需要完整的时间序列数据,但我也想读取特定日期所有列的结果并将它们合并到一个单独的文件中。但是,当我这样做时,我得到“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
是我在文件中阅读的方式
方法一:
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) == : invalid参数类型"
如果我只使用 rbind,我会得到“read.table 中的错误(文件 = 文件,标题 = 标题,sep = sep,引用 = 引用,:前五行是空的:放弃”
我想要得到的是一个数据框,其中包含按动物分组的特定兴趣行,我稍后可以根据需要对其进行子集化和处理。我只需要能够读取这些 40 多个结果文件,将所需的行全部提取到一个大数据框中,并将其保存为 csv,我需要它可扩展,这样无论我有 40 个文件,相同的代码都可以工作或 >100。
解决方案
推荐阅读
- db2 - WinSQL ORDER BY 字母数字 DB2 语法
- javascript - 使用多个输入元素时未触发 Android Chrome 按键事件“Enter”
- c# - 尝试在 foreach 循环中将对象附加到 Enumerable
- jquery - jquery - 循环遍历具有不同数组键的选择字段数组
- c++ - 出队时并发队列卡住
- amazon-web-services - 为什么我会收到此错误?UnknownEndpoint:无法访问的主机:`devicefarm.us-east-1.amazonaws.com'
- html - 输入router-outlet后css改变
- max - 仅在一列上使用 MAX 作为度量
- jquery - 根据 td 的值改变 Td 的颜色
- apache - Apache Artemis - 通过具有多个队列的地址路由消息