如何通过用均值替换来处理 R 中的缺失值? [关闭]

2023-12-22

我有一个看起来像这样的数据框

row1 key1 10 
row2 key1 12
row3 key1 NA
row4 key2 2
row5 key2 3
row6 key2 NA
...

现在我想用每个键的平均值替换所有 NA。例如。第一个 NA 应替换为 10、12,第二个 NA 应替换为 2、3

一种粗略的解决方案是获取所有键,迭代它们,过滤该特定键的数据帧,然后用平均值替换 NA。还有其他更好的解决方案吗?


有很多方法可以做到这一点。图书馆zoo有一个内置函数na.aggregate这正是你想要的。

library(zoo)
d <- data.frame(key = rep(c("key1", "key2"), each = 3), 
    value = c(10, 12, NA, 2, 3, NA))  
with(d, na.aggregate(value, by = key))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过用均值替换来处理 R 中的缺失值? [关闭] 的相关文章

随机推荐