使用summarize()计算企鹅数据均值返回NA值的问题排查
问题原因与解决方法
问题根源
palmerpenguins数据集中,Adelie和Gentoo企鹅的bill_length_mm、bill_depth_mm、body_mass_g字段存在缺失值(NA),而R语言的mean()函数默认在遇到NA时会返回NA。Chinstrap企鹅的对应字段恰好没有缺失值,所以计算结果正常。
解决代码
修改summarize()里的mean()调用,添加na.rm = TRUE参数忽略缺失值即可:
penguins %>% group_by(species) %>% summarize(average_bill_length = mean(bill_length_mm, na.rm = TRUE), average_bill_depth = mean(bill_depth_mm, na.rm = TRUE), average_body_mass = mean(body_mass_g, na.rm = TRUE))
正确结果示例
执行修改后的代码会得到各物种的正常均值:
# A tibble: 3 × 4 species average_bill_length average_bill_depth average_body_mass <fct> <dbl> <dbl> <dbl> 1 Adelie 38.8 18.3 3701. 2 Chinstrap 48.8 18.4 3733. 3 Gentoo 47.5 14.9 5076.
内容的提问来源于stack exchange,提问作者Sonam
相关产品推荐
相关产品推荐

