我有一个矩阵,我希望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
答案 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)]