在带有矩阵的 R 中:
one two three four [1,] 1 6 11 16 [2,] 2 7 12 17 [3,] 3 8 11 18 [4,] 4 9 11 19 [5,] 5 10 15 20
我想提取其行的第三列 = 11 的子矩阵。即:
one two three four [1,] 1 6 11 16 [3,] 3 8 11 18 [4,] 4 9 11 19
我想在不循环的情况下做到这一点。我是 R 新手,所以这可能很明显,但文档通常有点简洁。
如果使用 as.data.frame() 将矩阵转换为数据框,这会更容易。在这种情况下,先前的答案(使用子集或 m$three)将起作用,否则将不起作用。
要对矩阵 执行操作,可以按名称定义列:
m[m[, "three"] == 11,]
或按编号:
m[m[,3] == 11,]
请注意,如果只有一行匹配,则结果是整数向量,而不是矩阵。