使用rbind将数据帧与缺少数据帧组合在一起

时间:2015-03-11 21:56:12

标签: r dataframe rbind

我使用以下命令组合来自不同数据帧的数据。有些数据帧丢失,如数据4等,

filings<- rbind.pages(list(data1,data2,data3,data4,data5))
Error in stopifnot(is.list(pages)) : object 'data4' not found

我收到了上述错误。我有大约1000个数据帧,并且有一些丢失的数据帧是未知的。有没有办法解决这个问题以跳过丢失的数据框?

谢谢!

1 个答案:

答案 0 :(得分:3)

这应该有效:

possibleDfs <- paste0('data', 1:1000)
existingDfIndices <- sapply(possibleDfs, exists)
existingDfs <- mget(possibleDfs[existingDfIndices])

do.call(rbind, existingDfs)

首先,我们创建了一个data.frames名称的向量:

head(possibleDfs)
[1] "data1" "data2" "data3" "data4" "data5" "data6"

然后,我们使用sapply(possibleDfs, exists)来获取指示哪些data.frame存在的逻辑向量。

然后我们使用possibleDfsexistingDfIndices进行了分析,以获取存在的data.frames的名称,我们应用mget来获取这些data.frames的列表。

最后,我们使用do.callrbind绑定所有data.frames。