如何在 R 中查找矩阵列中仅出现一次的值的索引?
要查找 R 矩阵列中仅出现一次的值的索引,我们可以按照以下步骤操作:
首先,创建一个矩阵。
然后,使用 which 函数以及 duplicated 函数和单个方括号进行子集化,以查找列中仅出现一次的值的索引。
示例 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
广告