我为什么要在这里使用sum() - 函数?

时间:2015-08-06 15:53:25

标签: r

为什么我要使用sum() - 函数而不是length()函数?

sum(age<=20)/length(age)

年龄是一个数字值表示年龄的向量。

为什么我不能使用:

length(age<=20)/length(age)

这些函数应返回相同的值,不是吗?

2 个答案:

答案 0 :(得分:4)

不,他们不应该。结果:

 a{
     line-height: 33px;
  }

是一个布尔向量,具有与变量'age'相同的维度。 因此,

age<=20

计算多少个值小于或等于20,而

sum(age<=20)

将返回'age'的长度

BTW,

length(age<=20)

可以通过以下方式获得:

sum(age<=20)/length(age)

答案 1 :(得分:0)

我不确定你指的是哪种语言,但是,在一般原则中:

年龄&lt; = 20是一个条件,在每个项目(或记录)上返回是/否,并且大概是1/0

sum(age<=20)将总结一下。它为您提供满足条件的项目数。

另一方面,length返回一个数字:数组/向量/记录集的计数。 age是一个向量,age<=20不是,它是一个布尔表达式。

如果您问length(age<=20),则很可能会得到1,因为它是age<=20结果的长度,这是一个标量值。