gpt4 book ai didi

r - 按组用均值插补缺失数据

转载 作者:行者123 更新时间:2023-12-04 09:33:25 24 4
gpt4 key购买 nike

我有一个具有三个级别的分类变量( ABC )。

我还有一个连续变量,上面有一些缺失值。

我想更换NA值与其组的平均值。这是来自组 A 的缺失观测值必须替换为组的平均值 A .

我知道我可以计算每个组的平均值并替换缺失值,但我确信还有另一种方法可以通过循环更有效地做到这一点。

A <- subset(data, group == "A")
mean(A$variable, rm.na = TRUE)
A$variable[which(is.na(A$variable))] <- mean(A$variable, na.rm = TRUE)

现在,我知道我可以对组 B 做同样的事情和 C ,但也许是 for循环(使用 ifelse )可能会起作用吗?

最佳答案

require(dplyr)
data %>% group_by(group) %>%
mutate(variable=ifelse(is.na(variable),mean(variable,na.rm=TRUE),variable))

要获得更快的 base-R 版本,您可以使用 ave :
data$variable<-ave(data$variable,data$group,FUN=function(x) 
ifelse(is.na(x), mean(x,na.rm=TRUE), x))

关于r - 按组用均值插补缺失数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55345593/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com