r future_map 与 ggpredict

问题描述 投票:0回答:1

在数据集的 10 个不同子集上拟合相同的模型后,我生成了 10 个模型摘要,如下

library(mice)
data("nhanes")
head(nhanes)

imp <- mice(nhanes, print = FALSE, m = 10, seed = 24415)
df <- complete(imp, "long")
model_fit <- lapply(1:10, function(i) {
  model = lm(bmi ~ lspline(age, c(5, 10)) + hyp + chl,
             data = subset(df, `.imp`==i))
})

由此我得到了不同的

ggpredict
物体

ggpredict(model_fit[[1]], c("age[all]", "hyp"))
ggpredict(model_fit[[2]], c("age[all]", "hyp"))
ggpredict(model_fit[[3]], c("age[all]", "hyp"))
ggpredict(model_fit[[4]], c("age[all]", "hyp"))
ggpredict(model_fit[[5]], c("age[all]", "hyp"))
ggpredict(model_fit[[6]], c("age[all]", "hyp"))
ggpredict(model_fit[[7]], c("age[all]", "hyp"))
ggpredict(model_fit[[8]], c("age[all]", "hyp"))
ggpredict(model_fit[[9]], c("age[all]", "hyp"))
ggpredict(model_fit[[10]], c("age[all]", "hyp"))

我正在寻找一种有效的方法来a)通过

hp
age估计所有ggpredict

对象的平均值

我正在尝试将

future_map
功能与
ggpredict
一起使用。这是我的代码

library(lspline)
library(purrr)
library(furrr)

plan(multisession, workers =20)
test1 <- future_map(model_fit, ggpredict,  c("age[all]", "hyp"), library(lspline), progress = TRUE)

我收到警告和错误消息

警告:

could not access model information. Warning could not find any variables for the specified model component.

i In index = 1.

i With name: modelStruct

!is.null(model_Info) && model_info$is_trial
中的错误引起: !
y
输入
x && y

无效

但是,如果我切换到常规地图功能,则不会出现错误或警告,一切正常,只是需要太长时间。

test1 <- map(model_list[[1]] , ggpredict,  c("age[all]", "hyp"))

我想知道我哪里出错了,或者指定

future_map
ggpredict
一起工作的正确方法。预先感谢。

r furrr
1个回答
0
投票

library(lspline)
可能是导致问题的原因。以下作品:

library(mice)
library(ggeffects)
library(tidyverse)
library(furrr)

imp <- mice(nhanes, print = FALSE, m = 10, seed = 24415)
df <- complete(imp, "long")
model_fit <- lapply(1:10, function(i) {
  model = lm(bmi ~ age + hyp + chl,
             data = subset(df, `.imp`==i))
})

plan(multisession, workers = 10)

future_map(model_fit, ggpredict, c("age[all]", "hyp"), progress = TRUE) 
#> [[1]]
#> # Predicted values of bmi
#> 
#> hyp: 1
#> 
#> age | Predicted |       95% CI
#> ------------------------------
#>   1 |     28.38 | 26.67, 30.08
#>   2 |     24.21 | 22.71, 25.71
#>   3 |     20.05 | 17.13, 22.96
#> 
#> hyp: 2
#> 
#> age | Predicted |       95% CI
#> ------------------------------
#>   1 |     31.82 | 28.07, 35.58
#>   2 |     27.66 | 24.88, 30.43
#>   3 |     23.49 | 20.63, 26.35
#> 
#> Adjusted for:
#> * chl = 195.08
#> 
#> [[2]]
#> # Predicted values of bmi
#> 
#> hyp: 1
#> 
#> age | Predicted |       95% CI
#> ------------------------------
#>   1 |     29.35 | 26.83, 31.87
#>   2 |     26.01 | 23.56, 28.46
#>   3 |     22.67 | 17.89, 27.44
#> 
#> hyp: 2
#> 
#> age | Predicted |       95% CI
#> ------------------------------
#>   1 |     29.35 | 23.58, 35.13
#>   2 |     26.01 | 22.02, 30.00
#>   3 |     22.67 | 18.73, 26.61
#> 
#> Adjusted for:
#> * chl = 192.88
#> 
#> [[3]]
#> # Predicted values of bmi
#> 
#> hyp: 1
#> 
#> age | Predicted |       95% CI
#> ------------------------------
#>   1 |     27.30 | 25.25, 29.35
#>   2 |     25.40 | 23.54, 27.26
#>   3 |     23.51 | 20.08, 26.94
#> 
#> hyp: 2
#> 
#> age | Predicted |       95% CI
#> ------------------------------
#>   1 |     28.87 | 24.24, 33.49
#>   2 |     26.97 | 23.43, 30.52
#>   3 |     25.08 | 21.50, 28.66
#> 
#> Adjusted for:
#> * chl = 194.64
#> 
#> [[4]]
#> # Predicted values of bmi
#> 
#> hyp: 1
#> 
#> age | Predicted |       95% CI
#> ------------------------------
#>   1 |     27.79 | 25.56, 30.03
#>   2 |     24.66 | 22.52, 26.80
#>   3 |     21.52 | 17.66, 25.38
#> 
#> hyp: 2
#> 
#> age | Predicted |       95% CI
#> ------------------------------
#>   1 |     31.87 | 27.10, 36.63
#>   2 |     28.73 | 25.20, 32.26
#>   3 |     25.59 | 22.01, 29.17
#> 
#> Adjusted for:
#> * chl = 199.32
#> 
#> [[5]]
#> # Predicted values of bmi
#> 
#> hyp: 1
#> 
#> age | Predicted |       95% CI
#> ------------------------------
#>   1 |     28.85 | 26.72, 30.99
#>   2 |     24.47 | 22.75, 26.20
#>   3 |     20.09 | 16.79, 23.40
#> 
#> hyp: 2
#> 
#> age | Predicted |       95% CI
#> ------------------------------
#>   1 |     31.72 | 27.13, 36.32
#>   2 |     27.34 | 23.62, 31.07
#>   3 |     22.96 | 18.94, 26.99
#> 
#> Adjusted for:
#> * chl = 192.36
#> 
#> [[6]]
#> # Predicted values of bmi
#> 
#> hyp: 1
#> 
#> age | Predicted |       95% CI
#> ------------------------------
#>   1 |     29.45 | 27.44, 31.45
#>   2 |     25.67 | 23.80, 27.54
#>   3 |     21.89 | 18.49, 25.30
#> 
#> hyp: 2
#> 
#> age | Predicted |       95% CI
#> ------------------------------
#>   1 |     30.64 | 26.49, 34.80
#>   2 |     26.87 | 23.77, 29.96
#>   3 |     23.09 | 19.84, 26.34
#> 
#> Adjusted for:
#> * chl = 192.56
#> 
#> [[7]]
#> # Predicted values of bmi
#> 
#> hyp: 1
#> 
#> age | Predicted |       95% CI
#> ------------------------------
#>   1 |     29.55 | 27.64, 31.46
#>   2 |     25.64 | 23.98, 27.30
#>   3 |     21.73 | 18.87, 24.58
#> 
#> hyp: 2
#> 
#> age | Predicted |       95% CI
#> ------------------------------
#>   1 |     30.48 | 27.60, 33.37
#>   2 |     26.57 | 24.31, 28.84
#>   3 |     22.66 | 19.79, 25.53
#> 
#> Adjusted for:
#> * chl = 192.92
#> 
#> [[8]]
#> # Predicted values of bmi
#> 
#> hyp: 1
#> 
#> age | Predicted |       95% CI
#> ------------------------------
#>   1 |     28.04 | 26.02, 30.07
#>   2 |     25.29 | 23.62, 26.97
#>   3 |     22.55 | 19.48, 25.62
#> 
#> hyp: 2
#> 
#> age | Predicted |       95% CI
#> ------------------------------
#>   1 |     29.09 | 25.15, 33.04
#>   2 |     26.34 | 23.11, 29.58
#>   3 |     23.60 | 19.96, 27.23
#> 
#> Adjusted for:
#> * chl = 187.20
#> 
#> [[9]]
#> # Predicted values of bmi
#> 
#> hyp: 1
#> 
#> age | Predicted |       95% CI
#> ------------------------------
#>   1 |     28.35 | 26.33, 30.37
#>   2 |     25.06 | 22.85, 27.26
#>   3 |     21.76 | 17.69, 25.84
#> 
#> hyp: 2
#> 
#> age | Predicted |       95% CI
#> ------------------------------
#>   1 |     30.93 | 26.65, 35.21
#>   2 |     27.63 | 24.85, 30.41
#>   3 |     24.34 | 21.49, 27.19
#> 
#> Adjusted for:
#> * chl = 194.56
#> 
#> [[10]]
#> # Predicted values of bmi
#> 
#> hyp: 1
#> 
#> age | Predicted |       95% CI
#> ------------------------------
#>   1 |     28.54 | 26.74, 30.34
#>   2 |     25.15 | 23.50, 26.79
#>   3 |     21.75 | 18.64, 24.87
#> 
#> hyp: 2
#> 
#> age | Predicted |       95% CI
#> ------------------------------
#>   1 |     32.04 | 27.92, 36.15
#>   2 |     28.65 | 25.61, 31.68
#>   3 |     25.25 | 22.25, 28.26
#> 
#> Adjusted for:
#> * chl = 199.08

创建于 2024-04-25,使用 reprex v2.1.0

© www.soinside.com 2019 - 2024. All rights reserved.