如何在 R 数据框列中查找仅出现一次的值的索引?


要查找 R 数据框列中仅出现一次的值的索引,我们可以按照以下步骤操作:

  • 首先,创建一个数据框。

  • 然后,结合使用 which 函数、duplicated 函数和单方括号进行子集选择,以查找列中仅出现一次的值的索引。

示例

创建数据框

让我们创建一个如下所示的数据框:

x<-sample(1:10,25,replace=TRUE)
df1<-data.frame(x)
df1

输出

执行上述脚本后,将生成以下输出(由于随机化,此输出可能因您的系统而异):

    x
1   5
2   3
3  10
4   1
5   9
6   8
7   8
8   7
9   4
10  6
11  1
12  6
13  5
14  5
15  7
16  5
17  1
18  2
19  1
20  3
21  7
22  7
23  9
24 10
25  1

查找列中仅出现一次的值的索引

使用 which 函数、duplicated 函数和单方括号进行子集选择,以查找数据框 df1 的 x 列中仅出现一次的值的索引:

x<-sample(1:10,25,replace=TRUE)
df1<-data.frame(x)
which(!(df1$x %in% df1$x[duplicated(df1$x)]))

输出

[1] 9 18

示例 2

创建数据框

让我们创建一个如下所示的数据框:

y<-round(rnorm(25),1)
df2<-data.frame(y)
df2

输出

执行上述脚本后,将生成以下输出(由于随机化,此输出可能因您的系统而异):

     y
1   2.1
2  -1.0
3  -1.6
4   1.5
5   0.5
6   1.4
7   0.2
8   0.6
9   0.2
10  0.6
11  0.4
12  0.2
13  0.4
14  1.6
15  1.4
16 -1.6
17 -1.1
18  0.4
19  1.0
20  0.3
21  0.4
22 -0.7
23 -0.9
24 -1.6
25 -0.4

查找列中仅出现一次的值的索引

使用 which 函数、duplicated 函数和单方括号进行子集选择,以查找数据框 df2 的 y 列中仅出现一次的值的索引:

y<-round(rnorm(25),1)
df2<-data.frame(y)
which(!(df2$y %in% df2$y[duplicated(df2$y)]))

输出

[1] 1 2 4 5 14 17 19 20 22 23 25

更新于:2021年11月15日

101 次查看

启动您的职业生涯

完成课程获得认证

开始
广告