2013-03-08 32 views

回答

23

使用lengthsum

> length(x[x > 10]) 
[1] 2 
> sum(x > 10) 
[1] 2 

在第一种方法,你就可以创建一个子集的矢量符合您的条件的值,然后检索矢量的length

在第二种方法中,您只需创建一个逻辑向量,指出每个值是否与条件匹配(TRUE)或不匹配(FALSE)。由于TRUEFALSE等同于“1”和“0”,因此您可以简单地使用sum来获得答案。

因为第一种方法在计数之前需要索引和子集,所以我几乎可以肯定第二种方法会比第一种方法快。