如何在 R 中根据特定列的值对矩阵进行子集选择?
要根据特定列中的值对矩阵进行子集选择,我们可以使用单个方括号并提供行和列的值。列值将设置为我们想要进行子集选择的列,行值将设置为用于对矩阵进行子集选择的列的值。
查看下面的示例以了解其工作原理。
示例
以下代码片段创建了一个矩阵 -
M<-matrix(rpois(80,5),ncol=4) M
创建了以下矩阵 -
[,1] [,2][,3][,4] [1,] 8 4 6 3 [2,] 5 6 1 8 [3,] 5 4 7 5 [4,] 3 9 1 6 [5,] 6 4 3 5 [6,] 3 4 3 5 [7,] 7 6 5 6 [8,] 7 5 7 1 [9,] 9 6 9 6 [10,] 5 4 5 5 [11,] 5 8 4 4 [12,] 3 2 7 4 [13,] 4 3 1 6 [14,] 1 4 4 5 [15,] 4 7 5 4 [16,] 5 2 6 4 [17,] 5 6 3 5 [18,] 8 8 3 6 [19,] 8 5 4 6 [20,] 2 5 6 3
要根据特定列中的值对矩阵进行子集选择,请将以下代码添加到上述代码片段中 -
M[,4]<-rep(c(1,2,3,4),times=5) M
如果执行上述代码片段,则会生成以下输出 -
[,1][,2][,3][,4] [1,] 8 4 6 1 [2,] 5 6 1 2 [3,] 5 4 7 3 [4,] 3 9 1 4 [5,] 6 4 3 1 [6,] 3 4 3 2 [7,] 7 6 5 3 [8,] 7 5 7 4 [9,] 9 6 9 1 [10,] 5 4 5 2 [11,] 5 8 4 3 [12,] 3 2 7 4 [13,] 4 3 1 1 [14,] 1 4 4 2 [15,] 4 7 5 3 [16,] 5 2 6 4 [17,] 5 6 3 1 [18,] 8 8 3 2 [19,] 8 5 4 3 [20,] 2 5 6 4
要根据特定列中的值对矩阵进行子集选择,请将以下代码添加到上述代码片段中 -
M[M[,4]==1,c(1:3)]
如果执行上述代码片段,则会生成以下输出 -
[,1][,2][,3] [1,] 8 4 6 [2,] 6 4 3 [3,] 9 6 9 [4,] 4 3 1 [5,] 5 6 3
要根据特定列中的值对矩阵进行子集选择,请将以下代码添加到上述代码片段中 -
M[M[,4]==2,c(1:3)]
如果执行上述代码片段,则会生成以下输出 -
[,1][,2][,3] [1,] 5 6 1 [2,] 3 4 3 [3,] 5 4 5 [4,] 1 4 4 [5,] 8 8 3
要根据特定列中的值对矩阵进行子集选择,请将以下代码添加到上述代码片段中 -
M[M[,4]==3,c(1:3)]
如果执行上述代码片段,则会生成以下输出 -
[,1][,2][,3] [1,] 5 4 7 [2,] 7 6 5 [3,] 5 8 4 [4,] 4 7 5 [5,] 8 5 4
要根据特定列中的值对矩阵进行子集选择,请将以下代码添加到上述代码片段中 -
M[M[,4]==4,c(1:3)]
如果执行上述代码片段,则会生成以下输出 -
[,1][,2][,3] [1,] 3 9 1 [2,] 7 5 7 [3,] 3 2 7 [4,] 5 2 6 [5,] 2 5 6
广告