如果值出现一次,如何在 R 矩阵列中找到该值的索引?
r programmingserver side programmingprogramming更新于 2025/4/8 22:37:17
要找到如果值出现一次,在 R 矩阵列中找到该值的索引,我们可以按照以下步骤 −
首先,创建一个矩阵。
然后,使用 which 函数以及重复函数和单个方括号进行子集化,以找到如果值出现一次,在列中的索引。
示例 1
创建数据框
让我们创建一个数据框,如下所示 −
M1<-matrix(rpois(25,10),ncol=1) M1
输出
执行时,上述脚本将生成以下输出(由于随机化,此输出将因您的系统而异) −
[,1] [1,] 13 [2,] 6 [3,] 12 [4,] 8 [5,] 12 [6,] 5 [7,] 11 [8,] 8 [9,] 11 [10,] 12 [11,] 16 [12,] 11 [13,] 15 [14,] 5 [15,] 11 [16,] 9 [17,] 12 [18,] 9 [19,] 8 [20,] 7 [21,] 9 [22,] 7 [23,] 15 [24,] 14 [25,] 9
查找某列中出现一次的值的索引
使用 which 函数以及 duplicated 函数和单方括号进行子集化,查找矩阵 M1 的列中出现一次的值的索引 −
M1<-matrix(rpois(25,10),ncol=1) which(!(M1[] %in% M1[][duplicated(M1[])]))
输出
[1] 9 20 21
示例 2
创建数据框
让我们创建一个数据框,如下所示 −
M2<-matrix(round(rnorm(25),1),ncol=1) M2
输出
执行时,上述脚本将生成以下输出(由于随机化,此输出将因您的系统而异) −
[,1] [1,] 1.7 [2,] -1.0 [3,] -1.1 [4,] 0.8 [5,] 0.7 [6,] 0.7 [7,] 1.9 [8,] -1.6 [9,] 2.7 [10,] 0.9 [11,] -0.6 [12,] 1.0 [13,] -2.1 [14,] -1.1 [15,] 1.4 [16,] 0.2 [17,] -0.7 [18,] 1.4 [19,] 0.6 [20,] -0.6 [21,] 0.0 [22,] -0.1 [23,] 0.6 [24,] 0.5 [25,] -0.9
查找某列中出现一次的值的索引
使用 which 函数以及 duplicated 函数和单方括号进行子设置,查找矩阵 M2 的列中出现一次的值的索引 −
M2<-matrix(round(rnorm(25),1),ncol=1) which(!(M2[] %in% M2[][duplicated(M2[])]))
输出
[1] 2 3 6 7 10 12 14 16 17 18 19 21 23