r - 使用 rbind 组合数据帧和缺失数据帧

标签 r dataframe rbind

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

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

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

谢谢!

最佳答案

这应该有效:

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

do.call(rbind, existingDfs)

首先,我们创建了一个包含数据帧名称的向量:

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

然后,我们使用 sapply(possibleDfs, exists) 得到一个逻辑向量,指示存在哪些数据帧。

然后,我们将 possibleDfsexistingDfIndices 进行子集化,以获取存在的 data.frames 的名称,我们对其应用 mget 以获得一个这些数据框的列表。

最后,我们使用do.callrbind 来绑定(bind)所有的data.frames。

关于r - 使用 rbind 组合数据帧和缺失数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28998163/

相关文章:

c++ - R 函数和 Rcpp 中的环境

r - 将字符列转换为数据框中的列表

python - 使用 python 日期时间返回任意年份的特定日期、月份

python - 根据符号将列中的值拆分为新行

r - 在嵌套列表中的矩阵上使用 rbind?

r - 如何手动调整刻面大小

r - 对数据框中的所有变量执行相同的变异

python - 在 Python 中,是否有直接的方法来过滤 pd.dataframe 以列的 2 个值范围为条件?

跨嵌套列表的 rbind 数据帧

r - 为大型数据库中的每个标识符添加由 0 组成的行