我想计算在退伍军人和非退伍军人群体中"Yes" == infrc
处的梗塞百分比。我尝试过这样的事情:
brfss2013 %>%
filter(!is.na(veteran3)) %>%
group_by(veteran3) %>%
summarise("Infarction rate" = sum("Yes" == infrc)/n())
要完成这项工作,我也必须按infrc
参数分组。但是通过这种方式,n()
将计入较小的组,而不是整个资深和非资深组。
如何计算退伍军人和非退伍军人中的梗死百分比?
为什么仅当我将group_by
与参数infrc
一起使用时,这种构造方式才能起作用?
sum("Yes" == infrc)
这是没有道理的,因为group_by(infrc)
自己将“是”,“否”分为两个组。
答案 0 :(得分:0)
答案是分别处理数据集中的NA值。当构造sum("Yes" == infrc)
将“是”与NA值进行比较时,它将返回整个结果的NA值。将NA值取平均值时,这很明显,但是在这种情况下,有点令人困惑。因此解决方案是使用像这样的sum("Yes" == infrc) & !is.na(infrc)
这样的代码。