【发布时间】:2015-12-19 05:52:24
【问题描述】:
我使用与以下示例相对应的两个数据框:
# Data sets
set.seed(1)
dta_a <- data.frame(some_value = runif(n = 10),
identifier=c("A0001","A0002","A0003","A0004","A0005",
"A0006","B0001","B0002","B0003","B0004"),
other_val = runif(n = 10))
dta_b <- data.frame(variable_abc = runif(n = 6),
identifier=c("A0001","A0002","A0003,A0004,A0005,C0001",
"B0001,B0002","B0003","B0004"),
variable_df = runif(n = 6))
我想合并这两个数据框并获得一个类似于下面显示的数据框:
生成的数据框将具有以下品质:
- 对于只有一个标识符存在的观察,
merge命令执行all.y = TRUE和all.x = FALSE,假设y是dta_b。 - 对于提供多个标识符的观察结果,仅采用
dta_a中的第一个匹配值,而忽略其余值。如果第一个标识符 (A0003) 不匹配,我希望命令尝试匹配下一个标识符 (A0004)。
我参考了merge 命令,但自然而然,dplyr 和其他解决方案都可以。
【问题讨论】: