从多个数据框中获取和保存结果

Getting and saving results from multiple data frames

我有九个不同的数据框 df1, df2, df3, df4, df5, df6, df7, df8df9。我想为每个数据帧分别使用 mice 包编写一个应用以下计算的函数:

imputed_Data <- mice(df, m=3, maxit = 3, method = 'pmm', seed = 500)

到最后,我应该得到九个不同的imputed_Data

我做的是:

for(i in 9) {
  imputed_Data <- mice(df[[i]], m=3, maxit = 3, method = 'pmm', seed = 500)
  result[[i]] <- mice::complete(imputed_Data)
  }

将您的 df 放入列表中

library(purrr)
dfList <- list(df1, df2, df3, df4, df5, df6, df7, df8,  df9)

这会将其作为 df 列表提供给您。

## NOT RUN ##
imputed_data <- 
  map(dfList, ~ mice(.x, m=3, maxit = 3, method = 'pmm', seed = 500)) 

如果您希望将其作为单个串联的 df

imputed_data <- 
  map_df(dfList, ~ mice(.x, m=3, maxit = 3, method = 'pmm', seed = 500))