具有 NA 的多列,通过分组线性插值法估算 NA

Multiple columns with NAs, impute NAs by grouped linear interpolation

我有几列带有 NA,我想根据行所属的状态使用线性插值来估算列的 NA。

我还想在相同的代码中创建 interp_[variable name] 格式的新列名。

我们可以通过插值来做一个分组

library(dplyr)
library(forecast)
df1 %>%
     group_by(state) %>%
     mutate_at(vars(-group_cols()), list(interp= ~ na.interp(.)))

如果列不全是数字,使用mutate_if(is.numeric, list(interp= ~ na.interp(.)))