如何对每列的值求和并删除R中最小和的列?

时间:2015-08-13 13:42:15

标签: r matrix

我有一个矩阵,我希望R对每一列的值求和,然后删除总和最低的列。我知道colSums会这样做,但是如何告诉它删除最低金额?

    a   b   c   d   e   f
a   3   5   2   6   4   2
b   2   8   0   0   9   0
c   0   7   0   7   8   6
d   0   4   0   2   7   8
e   5   5   3   4   3   9
f   0   2   3   5   4   5

1 个答案:

答案 0 :(得分:2)

我们得到了OP的帖子中提到的colSums。然后检查哪些值不等于colSums的最小值,即v1!=min(v1)。用于对矩阵进行子集化' m1'。

 v1 <- colSums(m1)
 m1[,v1!=min(v1)]

如果最小值没有关系,可以使用which.min(如@A.Web和@David Arenburg所建议的那样)返回一个数字索引,可以通过-删除。如果存在最小值的关联,which.min将返回第一个最小值的列索引。

 m1[,-which.min(v1)]