如何在R中使用dplyr连接具有相同行顺序的两个数据帧?
当我们在两个数据帧中有一个公共列时,则可以使用这些数据帧的连接来创建更大的数据帧。这将帮助我们分析具有许多特征的组合数据集。我们可以通过使用dplyr包的inner_join函数来实现。
示例
请看以下数据帧-
> set.seed(111) > x1<-rep(c(1,2,3,4,5),times=4) > R1<-sample(1:100,20) > df1<-data.frame(x1,R1) > df1 x1 R1 1 1 78 2 2 84 3 3 83 4 4 47 5 5 25 6 1 59 7 2 69 8 3 35 9 4 72 10 5 26 11 1 49 12 2 45 13 3 74 14 4 8 15 5 100 16 1 96 17 2 24 18 3 48 19 4 95 20 5 7 > x1<-rep(c(1,2),times=5) > R2<-sample(1:100,10) > df2<-data.frame(x1,R2) > df2 x1 R2 1 1 21 2 2 15 3 1 1 4 2 9 5 1 63 6 2 40 7 1 25 8 2 35 9 1 71 10 2 52
加载dplyr软件包-
> library(dplyr)
合并两个数据帧-
> inner_join(df2,df1) Joining, by = "x1" x1 R2 R1 1 1 21 78 2 1 21 59 3 1 21 49 4 1 21 96 5 2 15 84 6 2 15 69 7 2 15 45 8 2 15 24 9 1 1 78 10 1 1 59 11 1 1 49 12 1 1 96 13 2 9 84 14 2 9 69 15 2 9 45 16 2 9 24 17 1 63 78 18 1 63 59 19 1 63 49 20 1 63 96 21 2 40 84 22 2 40 69 23 2 40 45 24 2 40 24 25 1 25 78 26 1 25 59 27 1 25 49 28 1 25 96 29 2 35 84 30 2 35 69 31 2 35 45 32 2 35 24 33 1 71 78 34 1 71 59 35 1 71 49 36 1 71 96 37 2 52 84 38 2 52 69 39 2 52 45 40 2 52 24