我有兩個資料框命名df1和df2不同的行數。在這兩個資料框中,我有三個相同的列,但大小不同。
df1<- data_frame(id= c(1,2,2,3,3,3,5,5,4,4), num=c(10,20,20,30,30,30,50,50,40,40), age=c(31,32,32,33,33,33,35,35,34,34),
c=c(95,96,96,97,97,97,99,99,98,98))
df2<- data_frame(id=1:5, num=c(10,20,30,40,50), age=31:35,a=11:15,b=10.5:14.5)
我想合并df1與df2基于該列值這樣的方式相同的列a,并b在df2基礎上相應列的重復df1。我的預期輸出是這樣的:
id num age c a b
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 1 10 31 95 11 10.5
2 2 20 32 96 12 11.5
3 2 20 32 96 12 11.5
4 3 30 33 97 13 12.5
5 3 30 33 97 13 12.5
6 3 30 33 97 13 12.5
7 5 50 35 99 15 14.5
8 5 50 35 99 15 14.5
9 4 40 34 98 14 13.5
10 4 40 34 98 14 13.5
先感謝您
uj5u.com熱心網友回復:
我們可以這樣使用left_join:
library(dplyr)
left_join(df1, df2, by="id") %>%
select(-ends_with(".y"), num = num.x, age=age.x)
id num age c a b
<dbl> <dbl> <dbl> <dbl> <int> <dbl>
1 1 10 31 95 11 10.5
2 2 20 32 96 12 11.5
3 2 20 32 96 12 11.5
4 3 30 33 97 13 12.5
5 3 30 33 97 13 12.5
6 3 30 33 97 13 12.5
7 5 50 35 99 15 14.5
8 5 50 35 99 15 14.5
9 4 40 34 98 14 13.5
10 4 40 34 98 14 13.5
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/364181.html
標籤:r
上一篇:使用Names()函式洗掉CSV
下一篇:RMarkdown,kable_styling(latex_options="HOLD_position")不起作用
