两者都相当大 例如:
DF1
Name name2 code2 code3
A 1 2 3
B 1 2 3
C 1 2 3
Df2
Name lat lon
A 5 6
C 1 2
我想将df1与df2进行比较,如果匹配将(lat lon
)col添加到df1
Df1
Name name 2 code2 code3 lat lon
A 1 2 3 5 6
B 1 2 3
C 1 2 3 1 2
我试过了
test <- merge(df1, df2, by = 'Name', all = TRUE)
但是它说列名称&#39; name&#39; &#39; NAME1&#39;在结果中重复。 (请假设不能更改列名)
我也尝试过for循环
For( i in 1: nrow(df1)) {
If ( df1$`Name`[I] %in% df2$Name) {
Df1$lat[I] = df2$lat
}
}
但是我不知道如何将匹配的lat和lon添加到df1。有帮助吗?谢谢
答案 0 :(得分:0)
尝试这样的事情:
merge(df1, df2, by.x = 'Name1',by.y = 'Name', all = TRUE)
其中by.x在这种情况下是df1而by.y是df2。它可以帮助您按包含相同数据但具有不同名称的列进行合并。祝你好运!