如何根据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
以上是 如何根据R中特定列中的值对矩阵进行子集化? 的全部内容, 来源链接: utcz.com/z/335452.html