假設我們有兩個數據框,我們想合併它們。在df2
各組的值的數量小於或等於值的數量df1
:如何通過在R中重複使用而不重複來合併兩個不同長度的數據幀?
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
因此,對於每一個獨特的df2
的value
, 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
有任何方便的方式來實現這一目標?
我會很感激被告知爲downvote原因。 – AnjaM