如果特定列值满足 R 中的某些条件,如何删除矩阵行?
要在特定列满足某个条件时删除矩阵行,我们可以使用带单方括号的子集并根据条件获取矩阵的子集。例如,如果我们有一个矩阵 M 并且想要在 M 的第一列不包含值 5 的情况下删除行,那么我们可以使用命令 M[M[,1]==5,]。
示例
考虑以下矩阵 -
M1<-matrix(rpois(80,2),ncol=4)输出结果M1
[,1] [,2] [,3] [,4][1,] 1 1 5 4
[2,] 5 2 3 1
[3,] 2 4 4 2
[4,] 1 0 0 2
[5,] 1 6 2 0
[6,] 2 1 2 1
[7,] 1 3 4 2
[8,] 3 1 1 0
[9,] 1 2 2 2
[10,] 0 0 0 1
[11,] 2 1 2 3
[12,] 1 2 4 1
[13,] 1 3 1 1
[14,] 3 3 1 2
[15,] 2 1 2 1
[16,] 2 0 2 1
[17,] 5 2 2 3
[18,] 0 0 0 0
[19,] 2 2 6 1
[20,] 3 1 1 0
如果第一个值不包含 2,则删除 M1 的行 -
示例
M1[M1[,1]==2,]输出结果
[,1] [,2] [,3] [,4][1,] 2 4 4 2
[2,] 2 1 2 1
[3,] 2 1 2 3
[4,] 2 1 2 1
[5,] 2 0 2 1
[6,] 2 2 6 1
示例
M2<-matrix(rpois(80,1),ncol=4)输出结果M2
[,1] [,2] [,3] [,4][1,] 0 3 2 2
[2,] 0 1 1 0
[3,] 0 0 0 3
[4,] 5 0 3 0
[5,] 0 1 0 1
[6,] 0 0 3 2
[7,] 1 0 0 1
[8,] 0 1 1 2
[9,] 1 1 2 1
[10,] 2 2 1 0
[11,] 1 0 2 0
[12,] 1 0 3 1
[13,] 1 1 0 0
[14,] 2 0 3 1
[15,] 1 0 1 1
[16,] 2 2 0 1
[17,] 1 0 0 2
[18,] 0 1 2 2
[19,] 1 1 5 0
[20,] 2 2 2 0
如果第一个值包含 0,则删除 M2 的行 -
示例
M2[M2[,1]!=0,]输出结果
[,1] [,2] [,3] [,4][1,] 5 0 3 0
[2,] 1 0 0 1
[3,] 1 1 2 1
[4,] 2 2 1 0
[5,] 1 0 2 0
[6,] 1 0 3 1
[7,] 1 1 0 0
[8,] 2 0 3 1
[9,] 1 0 1 1
[10,] 2 2 0 1
[11,] 1 0 0 2
[12,] 1 1 5 0
[13,] 2 2 2 0
以上是 如果特定列值满足 R 中的某些条件,如何删除矩阵行? 的全部内容, 来源链接: utcz.com/z/360972.html