How many elements in a vector are greater than x without using a loop

前端 未结 1 1575
礼貌的吻别
礼貌的吻别 2020-12-17 15:04

If I have the following vector :

x
[1]  1  5  8  9  1  0 15 15

and I want to know how many elements are greater than 10, how can I proceed

相关标签:
1条回答
  • 2020-12-17 15:34

    Use length or sum:

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

    In the first approach, you would be creating a vector that subsets the values that matches your condition, and then retrieving the length of the vector.

    In the second approach, you are simply creating a logical vector that states whether each value matches the condition (TRUE) or doesn't (FALSE). Since TRUE and FALSE equate to "1" and "0", you can simply use sum to get your answer.

    Because the first approach requires indexing and subsetting before counting, I am almost certain that the second approach would be faster than the first.

    0 讨论(0)
提交回复
热议问题