查找 R 数据框两列之间的公共元素。


要查找 R 数据框两列之间的公共元素,我们可以使用 intersect 函数。

例如,如果我们有一个名为 df 的数据框,其中包含两列,例如 X 和 Y,那么我们可以使用以下命令查找 X 和 Y 之间的公共元素:

intersect(df$X,df$Y)

示例 1

以下代码片段创建了一个示例数据框:

x1<-rpois(20,1)
y1<-rpois(20,5)
df1<-data.frame(x1,y1)
df1

创建了以下数据框

  x1 y1
 1 0 3
 2 1 5
 3 1 5
 4 1 4
 5 2 5
 6 0 7
 7 1 3
 8 1 6
 9 0 6
10 0 5
11 2 7
12 0 3
13 0 6
14 0 5
15 0 1
16 1 4
17 0 6
18 0 4
19 2 7
20 2 9

要在上面创建的数据框中查找 x1 和 y1 之间的公共值,请将以下代码添加到上述代码片段中:

x1<-rpois(20,1)
y1<-rpois(20,5)
df1<-data.frame(x1,y1)
intersect(df1$x1,df1$y1)

输出

如果您将所有上述代码片段作为一个程序执行,它将生成以下输出:

[1] 1 2 3

示例 2

以下代码片段创建了一个示例数据框:

x2<-rpois(20,5)
y2<-rpois(20,2)
df2<-data.frame(x2,y2)
df2

创建了以下数据框

   x2 y2
 1  7 2
 2  7 1
 3  7 6
 4  4 0
 5  8 1
 6  8 3
 7 10 2
 8  4 1
 9 12 0
10  7 6
11  8 1
12  4 0
13  3 2
14  8 2
15  4 2
16  5 4
17  5 1
18  2 2
19 11 3
20  4 2

要在上面创建的数据框中查找 x2 和 y2 之间的公共值,请将以下代码添加到上述代码片段中:

x2<-rpois(20,5)
y2<-rpois(20,2)
df2<-data.frame(x2,y2)
intersect(df2$x2,df2$y2)

输出

如果您将所有上述代码片段作为一个程序执行,它将生成以下输出:

[1] 4 3 2

示例 3

以下代码片段创建了一个示例数据框:

x3<-round(rnorm(20),1)
y3<-round(rnorm(20),1)
df3<-data.frame(x3,y3)
df3

创建了以下数据框

     x3   y3
 1 -1.4 -0.8
 2  0.0  1.2
 3  0.1  0.1
 4 -0.8 -1.2
 5 -0.1  0.3
 6  0.9 -0.2
 7 -0.9  1.2
 8  0.3  1.1
 9  0.1  0.1
10 -0.8  1.2
11  0.9  0.8
12  0.2 -1.8
13 -0.4 -0.3
14  0.2  0.9
15  0.8  1.1
16  0.0 -0.1
17  0.6  0.4
18  0.4  0.3
19 -1.3  0.3
20 -1.1  0.2

要在上面创建的数据框中查找 x3 和 y3 之间的公共值,请将以下代码添加到上述代码片段中:

x3<-round(rnorm(20),1)
y3<-round(rnorm(20),1)
df3<-data.frame(x3,y3)
intersect(df3$x3,df3$y3)

输出

如果您将所有上述代码片段作为一个程序执行,它将生成以下输出:

[1] 0.1 -0.8 -0.1 0.9 0.3 0.2 0.8 0.4

更新于: 2021年11月8日

5K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告