如何将数据框中的列与R中另一个数据框中的列匹配?
为了使一个数据框中的一列与另一个数据框中的一列相匹配,我们可以使用match函数。例如,如果我们有两个分别称为df1和df2的数据帧,每个数据帧具有一个相似的列,而第二个数据帧具有一个额外的列,则可以对相似的列进行匹配,并且可以基于该匹配在第一个数据帧中创建一个新列第二列是第二数据帧。查看以下示例以了解其工作原理。
例1
> df1<-data.frame(x1=sample(0:2,20,replace=TRUE))输出结果> df1
x11 2
2 2
3 1
4 0
5 2
6 2
7 2
8 2
9 2
10 1
11 1
12 2
13 1
14 0
15 2
16 2
17 2
18 2
19 2
20 2
示例
> df2<-data.frame(x1=rpois(20,2),x2=rpois(20,5))输出结果> df2
x1 x21 2 5
2 2 5
3 3 6
4 0 5
5 1 3
6 1 5
7 2 6
8 1 3
9 4 6
10 0 5
11 1 0
12 3 4
13 1 3
14 1 4
15 2 6
16 1 5
17 2 2
18 3 8
19 0 5
20 1 6
示例
> df1$x2<-df2$x2[match(df1$x1,df2$x1)]输出结果> df1
x1 x21 2 5
2 2 5
3 1 3
4 0 5
5 2 5
6 2 5
7 2 5
8 2 5
9 2 5
10 1 3
11 1 3
12 2 5
13 1 3
14 0 5
15 2 5
16 2 5
17 2 5
18 2 5
19 2 5
20 2 5
例2
> y1<-sample(c("A","B","C"),20,replace=TRUE)输出结果> df3<-data.frame(y1)
> df3
y11 A
2 C
3 C
4 A
5 C
6 B
7 C
8 B
9 B
10 C
11 B
12 C
13 B
14 A
15 A
16 C
17 B
18 B
19 A
20 A
示例
> y1<-sample(c("A","B","C","D","E"),20,replace=TRUE)输出结果> y2<-sample(LETTERS[1:4],20,replace=TRUE)
> df4<-data.frame(y1,y2)
> df4
y1 y21 E C
2 A D
3 C B
4 C D
5 D B
6 B D
7 D C
8 C B
9 D D
10 C A
11 B D
12 B C
13 C B
14 B D
15 D C
16 B B
17 E C
18 D B
19 A D
20 B C
示例
> df3$y2<-df4$y2[match(df3$y1,df4$y1)]输出结果> df3
y1 y21 A D
2 C B
3 C B
4 A D
5 C B
6 B D
7 C B
8 B D
9 B D
10 C B
11 B D
12 C B
13 B D
14 A D
15 A D
16 C B
17 B D
18 B D
19 A D
20 A D
以上是 如何将数据框中的列与R中另一个数据框中的列匹配? 的全部内容, 来源链接: utcz.com/z/358033.html