我有一个数据。框架df_final
有2列:
day_of_year
(365个连续整数:1、2、3,... 365)
bookings
(279个整数值和86 NA
值用于丢失数据)
这是df_final
day_of_year bookings
1 1 43
2 2 27
3 3 NA
4 4 27
.
.
10 10 NA
11 11 31
.
.
365 365 60
我已使用R中的Hmisc
包通过5次迭代来估算缺失值。
library (Hmisc)
impute_arg <- aregImpute(~ day_of_year + bookings, data = df_final, n.impute = 5)
impute_arg
bookings_imp_2 <- impute_arg$imputed$bookings
请找到bookings_imp_2
每个缺失值有5次迭代。
我的目标是获取pooled version
的估算值(可能取5个值的平均值),并用这些值替换NA values in df_final
。
我已经使用创建了池化数据集
df_imputed <- data.frame("bookings_imputed" = bookings_imp_2)
df_imputed$pooled <- rowMeans(df_imputed, na.rm = TRUE)
我有这样的输出
剩下要做的就是用合并的值替换df_final中的NA值。这是我有点卡住的地方。
答案 0 :(得分:1)
如果不更改行的顺序,则可能会起作用。
df_final$bookings[is.na(df_final$bookings)] <- df_imputed$pooled
干杯,里科