如何在 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
广告