2013-03-08 19 views

回答

23

使用lengthsum

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

在第一種方法,你就可以創建一個子集的矢量符合您的條件的值,然後檢索矢量的length

在第二種方法中,您只需創建一個邏輯向量,指出每個值是否與條件匹配(TRUE)或不匹配(FALSE)。由於TRUEFALSE等同於「1」和「0」,因此您可以簡單地使用sum來獲得答案。

因爲第一種方法在計數之前需要索引和子集,所以我幾乎可以肯定第二種方法會比第一種方法快。