计算小鼠估算数据的平均值

问题描述 投票:0回答:3

我想计算小鼠中估算数据集的个体水平平均值(用于展示目的,不用于分析)。例如,如果我有以下缺少的数据集。

身份证 V1 V2 V3
1 10 NA 9
2 12 8 NA
3 NA 7 11

还有 2 个像这样的估算数据集(用 * 标记的估算值)

身份证 V1 V2 V3
1 10 10* 9
2 12 8 12*
3 11* 7 11
身份证 V1 V2 V3
1 10 9* 9
2 12 8 10*
3 14* 7 11

我希望生成的数据集看起来像这样,其中 * 数字是估算缺失数据的平均值。

身份证 V1 V2 V3
1 10 9.5* 9
2 12 8 11*
3 12.5* 7 11

我不知道如何在 R 中有效地做到这一点

r imputation r-mice
3个回答
0
投票

可以直接替换NA值:

 df[is.na(df)] <- ((impute_df1 + imput_df2)/2)[is.na(df)]

0
投票

我暴力破解它。

averages <- complete(imp, 1)
for(m in 2:imp$m){
  averages <- averages + complete(imp, m)
}
averages <- averages / imp$m

0
投票

鉴于所有变量都是连续的,考虑使用

Reduce

lapply(1:imp$m, function(x) complete(imp, x)) %>% {Reduce(`+`, .) /length(.)}
© www.soinside.com 2019 - 2024. All rights reserved.