我正在使用以下命令组合来自不同数据帧的数据。一些数据帧丢失,如数据 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)
得到一个逻辑向量,指示存在哪些数据帧。
然后,我们将 possibleDfs
与 existingDfIndices
进行子集化,以获取存在的 data.frames 的名称,我们对其应用 mget
以获得一个这些数据框的列表。
最后,我们使用do.call
和rbind
来绑定(bind)所有的data.frames。
关于r - 使用 rbind 组合数据帧和缺失数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28998163/