在不使用循环的情况下,向量中的元素数大于x

Hen*_*nri 14 loops r vector

如果我有以下向量:

x
[1]  1  5  8  9  1  0 15 15
Run Code Online (Sandbox Code Playgroud)

我想知道有多少元素大于10,如何在不使用循环的情况下继续?

我想得到:

2
Run Code Online (Sandbox Code Playgroud)

结果是

A5C*_*2T1 28

使用lengthsum:

> length(x[x > 10])
[1] 2
> sum(x > 10)
[1] 2
Run Code Online (Sandbox Code Playgroud)

在第一种方法中,您将创建一个向量,该子向量设置与您的条件匹配的值,然后检索length向量.

在第二种方法中,您只是创建一个逻辑向量,指出每个值是与条件(TRUE)匹配还是不匹配(FALSE).由于TRUEFALSE等同于"1"和"0",您可以简单地sum用来得到答案.

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