我正在尝试弄清如何使用merge()
来更新数据框。
以数据框foo
为例:
foo <- data.frame(index=c('a', 'b', 'c', 'd'), value=c(100, 101, NA, NA))
这个包含以下数值:
index value
1 a 100
2 b 101
3 c NA
4 d NA
还有数据框 bar
bar <- data.frame(index=c('c', 'd'), value=c(200, 201))
这个值包括:
index value
1 c 200
2 d 201
当我运行下面的
merge()
函数来更新c
和d
的值时:merge(foo, bar, by='index', all=T)
它的输出结果如下:
index value.x value.y
1 a 100 NA
2 b 101 NA
3 c NA 200
4 d NA 201
我希望
merge()
的输出避免在这个特定的例子中创建value.x
和value.y
,只保留value
的原始列。有简单的方法可以做到这一点吗?
overwrite=TRUE
参数,当提供了“by”参数时自动启用。每次想要重新运行合并操作时手动删除列非常麻烦。 - Valentas