假设我有这两个数据集:
> a
id x1 x2
1 a 3
2 b 2
3 b 1
和
> b
id x1 x2
1 c 3
3 4
我需要的是:使用数据集 b 更新数据集 a 。
新的 a 应为:
> a
id x1 x2
1 c 3
2 b 2
3 b 4
我对此一无所知。你能告诉我任何包裹吗?
答案 0 :(得分:0)
dplyr
的一个选项:
library(dplyr)
a <- "id x1 x2
1 a 3
2 b 2
3 b 1"
b <- "id x1 x2
1 c 3
3 NA 4"
a <- read.table(text = a, header = TRUE, stringsAsFactors = FALSE)
b <- read.table(text = b, header = TRUE, stringsAsFactors = FALSE)
a %>%
full_join(b, by = "id", suffix = c("", ".1")) %>%
mutate(x1 = coalesce(x1.1, x1), x2 = coalesce(x2.1, x2)) %>%
select(id, x1, x2)
返回:
id x1 x2
1 1 c 3
2 2 b 2
3 3 b 4