繁体   English   中英

如何将均值推算到列中的特定观察值中?

[英]How to impute means into specific observations in a column?

目前,我有一个任务,包括一个数据表,该数据表包含有关在不同情况下测量的动物物种的观察信息。 在我的数据的“重量”列中,我应该使用一些缺失值替换为动物来源物种的平均重量。 因此,我希望在没有记录动物体重的两种情况下,“ albigula”物种的平均体重为148,以代替NA,以便获得完整的数据集。 然后,我需要对另外10个左右的物种重复此过程。

除了以下几点,我想不出一种方法:

    albigula <- filter(surveys_combined_year, surveys_combined_year$species == "albigula")
    albigula$weight %>% mean(na.rm= TRUE)

但是,这显然是行不通的,因为我无法在“ surveys_combined_year $ weight”中将平均值推算为其特定位置。

抱歉,可能是超级初学者的问题,我搜索了我们在课堂上获得的所有资源,但我似乎仍然无法理解我所缺少的内容。

请帮帮我!

我们可以做一个group_by replace 通过“物种”,分组replaceNAreplace_na )元素中“重量”由mean “重量”的

library(dplyr)
library(tidyr)
out <- surveys_combined_year %>%
         group_by(species) %>%
         mutate(weight = replace_na(weight, mean(weight, na.rm = TRUE)))

编辑-将replacereplace_na (来自@BenBolker的评论)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM