如何在 R 中提取至少有一个非重复项的列?

r programmingserver side programmingprogramming更新于 2025/4/9 13:22:17

要从 R 数据框中提取至少有一个非重复项的列,我们可以使用 Filter 函数。

例如,如果我们有一个名为 df 的数据框,其中包含一些具有重复值的列和不包含至少一个非重复项的列,那么我们可以使用以下命令提取至少有一个非重复项的列 −

Filter(var,df)

示例 1

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

x1<-rep(10,20)
x2<-rpois(20,1)
x3<-rpois(20,5)
x4<-rep(1,20)
df1<-data.frame(x1,x2,x3,x4)
df1

创建以下数据框

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

要提取上面创建的数据框中至少有一个非重复的 df1 列,请将以下代码添加到上面的代码片段中 −

x1<-rep(10,20)
x2<-rpois(20,1)
x3<-rpois(20,5)
x4<-rep(1,20)
df1<-data.frame(x1,x2,x3,x4)
Filter(var,df1)

输出

如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −

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

示例 2

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

y1<-round(rnorm(20),1)
y2<-round(rnorm(20),1)
y3<-rep(0.5,20)
y4<-rep(0.8,20)
df2<-data.frame(y1,y2,y3,y4)
df2

创建以下数据框

     y1  y2  y3  y4
1   0.7  0.3 0.5 0.8
2   0.4 -1.7 0.5 0.8
3  -0.7 -0.3 0.5 0.8
4   0.5 -1.4 0.5 0.8
5   0.7 -0.8 0.5 0.8
6   0.3  0.4 0.5 0.8
7  -0.8  0.5 0.5 0.8
8   0.3  0.5 0.5 0.8
9   0.4 -0.1 0.5 0.8
10  0.6 -0.3 0.5 0.8
11 -0.8 -1.3 0.5 0.8
12  0.6 -0.9 0.5 0.8
13  2.4  1.0 0.5 0.8
14 -0.6  0.4 0.5 0.8
15  1.8  0.9 0.5 0.8
16 -1.4  0.6 0.5 0.8
17  0.6 -0.1 0.5 0.8
18  0.6  0.7 0.5 0.8
19  0.5 -1.2 0.5 0.8
20 -1.0  0.7 0.5 0.8

要提取上面创建的数据框中至少有一个非重复的 df2 列,请将以下代码添加到上面的代码片段中 −

y1<-round(rnorm(20),1)
y2<-round(rnorm(20),1)
y3<-rep(0.5,20)
y4<-rep(0.8,20)
df2<-data.frame(y1,y2,y3,y4)
Filter(var,df2)

输出

如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −

     y1  y2
1   0.7  0.3
2   0.4 -1.7
3  -0.7 -0.3
4   0.5 -1.4
5   0.7 -0.8
6   0.3  0.4
7  -0.8  0.5
8   0.3  0.5
9   0.4 -0.1
10  0.6 -0.3
11 -0.8 -1.3
12  0.6 -0.9
13  2.4  1.0
14 -0.6  0.4
15  1.8  0.9
16 -1.4  0.6
17  0.6 -0.1
18  0.6  0.7
19  0.5 -1.2
20 -1.0  0.7

相关文章