R:选择矩阵中特定列具有特定值的行

标签 r matrix conditional-statements

我有一个 4 列 100 行的矩阵 m。矩阵的头部如下所示:

    head(m)
      [,1]  [,2]     [,3]       [,4]
 [1,] 1256 1.0000000 3.709184    0
 [2,] 8402 0.4226495 3.644793    0
 [3,]  656 0.4117985 3.165158    0
 [4,] 3925 0.4098163 3.239075    0
 [5,] 4987 0.4077779 3.471448    0
 [6,] 4715 0.4051867 3.400527    2

我想要做的是选择第四列不为 0 的所有行。在上面的示例中,我应该返回:

     [,1]  [,2]     [,3]       [,4]
 [1,] 4715 0.4051867 3.400527    2        

我尝试了以下命令:

    m[,which(m[,4]!=0)]

但我不断收到错误“索引超出限制。我做错了什么?有没有一种简单的方法可以实现我想要的效果?

最佳答案

问题只是一个错位的逗号,如 eddi提及。解决方案应该是:

    m[which(m[,4]!=0),]

此外,正如 mrip 所提到的,没有必要使用which。我本可以简单地使用:

    m[m[,4]!=0,]

关于R:选择矩阵中特定列具有特定值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19326826/

相关文章:

Python:从 numpy 矩阵创建二维直方图

r - 计算 R 矩阵中每列特定整数的数量

python - 制作一个类进程 A 2 by 2 矩阵并有问题通过 __str__ 返回它

mysql列列表只检查其中一个有值(value)

php - 循环遍历二维数组,对列中的值进行更改操作

javascript - 类型错误 : Failed to execute 'removeChild' on 'Node' : parameter 1 is not of type 'Node' in React

xml - XPath 表达式添加到已查找城市的代码中,也可能检索附近的邮政编码

r - 2 个经纬度点列表(坐标)之间的地理/地理空间距离

r - 如果您正在运行 Architect/StatET,您如何以编程方式判断?

r - 通过使用 R 将较小的基因组间隔数据与较大的基因组间隔相交来覆盖