美文网首页数据科学与R语言R语言
【R语言】利用mean()求比例

【R语言】利用mean()求比例

作者: fa3a76157bc7 | 来源:发表于2018-08-15 15:54 被阅读0次

在R语言学习过程中,常用函数的特殊用法常常会令人困惑。mean()一个普遍的用法是用来求解算术平均数,而同时用其求比例却不易被新手理解,这里记录一下我自己的学习小结。

1、构造一个示例向量

a <- 1:10
> a
 [1]  1  2  3  4  5  6  7  8  9 10

2、求算术平均值

> mean(a)
[1] 5.5

3、用mean()+条件求比例

> mean(a>7)
[1] 0.3

这里可以看a>7的比例是被直接求出来的,那么在这个过程中发生了什么呢?实际上是当你输入布尔值后,mean首先将布尔向向量转换成了数值向量,TRUE为1,FALSE为0。然后将sum()作为分子,向量的个数length()作为分母进行运算。这个过程其实就是比例计算的过程。

模拟过程

a>7
 [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE
>as.numeric(a>7)
 [1] 0 0 0 0 0 0 0 1 1 1
> sum(a>7)    #分子
[1] 3
> length(a)   #分母
[1] 10
> sum(a>7) / length(a)
[1] 0.3

4、其他例子

> a <- 1:10    
> mean(a<=6 & a>2)   
[1] 0.4
 b <-  c(NA, "a", "b", NA)    #构造向量b
> is.na(b)             #检验缺失值
[1]  TRUE FALSE FALSE  TRUE
> mean(is.na(b))   #查看缺失值占比
[1] 0.5

相关文章

网友评论

    本文标题:【R语言】利用mean()求比例

    本文链接:https://www.haomeiwen.com/subject/jkrwbftx.html