如果出现一次,如何在 R 数据框列中找到值的索引?

要在 R 数据框列中查找值的索引(如果它们出现一次),我们可以按照以下步骤操作 -

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

  • 然后,使用哪个函数以及重复函数和单个方括号进行子集化,以查找列中值的索引(如果它们出现一次)。

示例

创建数据框

让我们创建一个数据框,如下所示 -

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

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

    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

查找列中值的索引(如果它们出现一次)

使用哪个函数以及重复函数和单个方括号进行子集设置,以查找数据框 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
输出结果

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

     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

查找列中值的索引(如果它们出现一次)

使用哪个函数以及重复函数和单个方括号进行子集设置,以查找数据框 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

猜你喜欢