如何使用 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

更新时间:2020 年 8 月 12 日

144 次浏览

开始你的 职业生涯

完成课程获得认证

开始
广告