[英]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
。 通过“物种”,分组replace
的NA
( replace_na
)元素中“重量”由mean
“重量”的
library(dplyr)
library(tidyr)
out <- surveys_combined_year %>%
group_by(species) %>%
mutate(weight = replace_na(weight, mean(weight, na.rm = TRUE)))
编辑-将replace
为replace_na
(来自@BenBolker的评论)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.