【发布时间】:2014-07-30 03:46:59
【问题描述】:
我知道这是一个常见问题。然而,在 R 中组合数据框时的常见问题是存在重叠列,并且列需要函数。
这不是我的问题。我目前在 R 中有 2 个数据框。它们有一组完全不同的列,除了两者共有的 ID 列。
有一个主要和次要数据集(这很重要,因为并非主要的所有值都存在于次要中)
我想将 2 列从辅助数据框添加到主数据框。
所以我当前使用的方法是遍历主节点的所有行。检查它是否存在于辅助中,如果存在,则添加行
primary$newCol1 <- Secondary$newCol1[Matching stuff here]
主要问题是数据集非常庞大,每个数据集大约有 900 万行和大量列。因此,该过程非常缓慢。我相信我有一个正确的解决方案。但是就天数而言,运行时间是不可能的。
一个简单的例子是
rowC = nrow(dataframe1)
for(i in 1:rowC){
matchedRow = Dataframe1$id[i] == dataframe2$id
if dataframe1$id[i] %in% dataframe2$id{
dataframe1$newcol[i] <- dataframe2$newcol[matchedRow]
}
else{dataframe1$newcol[i]<- 'Unknown'}
任何帮助将不胜感激
【问题讨论】: