假设我们有两个数据框,我们想要合并它们。中每个组的值的数量df2
小于或等于 中的值的数量df1
:
df1 <- data.frame(group = c(rep("A", 5), rep("B", 4), rep("C", 2)),
values = c(51, 13, 18, 89, 3, 27, 86, 85, 31, 100, 55))
df2 <- data.frame(group = c(rep("A", 2), rep("B", 2), rep("C", 2)),
values = c(30, 36, 50, 60, 45, 70))
df.merge <- merge(df1, df2, "group")
我们得到这样的东西:
head(df1)
## group values
## A 51
## A 13
## A 18
## A 89
## A 3
## B 27
df2
## group values
## A 30
## A 36
## B 50
## B 60
## C 45
## C 70
head(df.merge)
## group values.x values.y
## A 51 30
## A 51 36
## A 13 30
## A 13 36
## A 18 30
## A 18 36
因此,对于每个唯一value
的df2
,相应组中的每一行df1
都是重复的。
我的目标是获得:
## group values.x values.y
## A 51 30
## A 13 36
## A 18 30
## A 89 36
## A 3 30
## B 27 50
## B 86 60
## B 85 50
## B 31 60
## C 100 45
## C 55 70
有没有方便的方法来实现这一点?