R:如何处理数据(具有NA值的数据框和具有多个迭代结果的估算矩阵)?

时间:2019-01-21 14:32:28

标签: r dataframe na

我有一个数据。框架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

结果的一部分

enter image description here

enter image description here

enter image description here

每个缺失值有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)

我有这样的输出

enter image description here

剩下要做的就是用合并的值替换df_final中的NA值。这是我有点卡住的地方。

1 个答案:

答案 0 :(得分:1)

如果不更改行的顺序,则可能会起作用。

df_final$bookings[is.na(df_final$bookings)] <- df_imputed$pooled

干杯,里科