这是一个简单的问题,但是我没有在档案中找到明确的解决方案。假设我有一个矩阵m:
m <- structure(c(2, 0, 1, 1, 0, 2, 2, 2, 2, 1, 0, 2, 2, 2, 1, 2, 0,
1, 0, 1, 0, 2, 2, 0, 1, 2, 2, 1, 2, 0, 2, 0, 1, 0, 2, 1, 2, 1,
0, 1, 0, 2, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 2, 1, 1, 1,
0, 2, 2, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 0, 26, 18, 26, 18,
22, 21, 13, 22, 27, 20, 27, 24, 18, 21, 18, 22, 16, 22, 19, 15,
22, 27, 20, 20, 17), .Dim = c(25L, 4L), .Dimnames = list(NULL,
c("r", "s", "t", "u")))
并希望获取包含列u中某些值的向量的矩阵的子集:
vec <- c(20, 21, 22, 24, 26)
换句话说,选择包含那些值的行。有关如何操作的建议或解决方案的链接?
您可以使用which()
和,%in%
但只能直接使用%in%
(非常感谢,并感谢@GKi):
#Code
newmat <- m[m[,'u'] %in% vec,]
输出:
r s t u
[1,] 2 2 0 26
[2,] 1 1 0 26
[3,] 0 0 2 22
[4,] 2 2 2 21
[5,] 2 1 1 22
[6,] 1 2 0 20
[7,] 2 2 2 24
[8,] 2 0 1 21
[9,] 2 0 1 22
[10,] 1 0 1 22
[11,] 0 1 0 22
[12,] 2 0 0 20
[13,] 0 0 2 20
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句