如何根据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

回到顶部