0

我想计算"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)“是”、“否”本身就分为两组。

4

1 回答 1

0

答案是单独处理数据集中的 NA 值。当构造sum("Yes" == infrc)将“是”与 NA 值进行比较时,它会返回整个结果的 NA 值。当 NA 值被平均时,这一点很清楚,但在这种情况下,它有点令人困惑。所以解决方案是使用这样的代码sum("Yes" == infrc) & !is.na(infrc)

于 2020-08-13T07:22:33.407 回答