合并具有缺失数据的数据框使用rbind函数

3

我正在使用以下命令将来自不同数据框的数据组合在一起。其中一些数据框(例如数据4)缺失。

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

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

谢谢!

1个回答

3
这应该可行:
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)获取逻辑向量,指示哪些数据框存在。
然后,我们使用existingDfIndicespossibleDfs进行子集化,以获取存在的数据框的名称,然后应用mget来获得这些数据框的列表。
最后,我们使用do.callrbind来绑定所有数据框。

我从爬虫中下载了数据,创建了data1 <- fromJSON(url,flatten = TRUE),直到data 1000。我现在面临的问题是它报告了数据1.2、1.3,这些基本上是当我运行sapply时的列。但我想将它们组合成一个数据框,就像绑定页面一样。 - user3570187
有没有办法限制只获取整数值的数据框? - user3570187
你在使用哪个库来进行 fromJSON 操作? - Dominic Comtois
是的,我使用了 fromJSON,并且在将其分配给向量 testdata<- do.call(rbind, existingDfs) 后,此代码运行成功。 - user3570187

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接