2 つのデータ フレームがあり、それらをマージしたいとします。の各グループの値の数は、 の値の数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
これを達成する便利な方法はありますか?