r - 从多个数据帧获取和保存结果
问题描述
我有九个不同的数据框df1, df2, df3, df4, df5, df6, df7, df8
和df9
. 我想编写一个函数,使用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
的 's 放在一个列表中
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))
推荐阅读
- python - 不使用 for 循环打印列表
- scala - 在 KStreams 中聚合实时数据
- java - 启动后定义的 Spring Boot DataSource
- c# - VS C# - Microsoft Excel 对象库参考
- fortran - fortran 中 H5_OpenGroup 和 H5Gcreate_f 命令的区别
- c++ - Windows XP 中来自 std::async 的 std::async
- linkedin - 使用 JS 获取 LinkedIn 数据 givs 错误“消息”:“未知身份验证方案”
- sql - 在数据库表中,根据一列值获取记录,该值基于其他两列
- c# - 同时更新窗口大小和网格边距
- excel - 粘贴数据 - Excel 的其他 Listobject 中的 Listobjects 范围