-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Description
See https://stackoverflow.com/questions/79163528/multistate-survival-models-with-censored-and-tidymodels
This might end up being a parsnip issue but we should start here.
library(tidyverse)
library(tidymodels)
library(censored)
#> Loading required package: survival
df <- tibble(
sample_id = seq(1:1000),
sex = sample(c("Male","Female"), 1000, replace = T),
duration = rnorm(1000, mean = 75, sd = 7),
outcome = sample(c("censor","Lost","Won"), 1000, replace = T)
) %>%
mutate(
outcome = factor(outcome)
)
mod_df <- df %>%
mutate(
sale_surv = Surv(duration, outcome),
.keep = "unused"
)
set.seed(1988)
mod_split <- initial_split(mod_df)
mod_train <- training(mod_split)
mod_test <- testing(mod_split)
mod_rec <- recipe(sale_surv ~ sex, data = mod_train) # no `id` here
mod_spec <- proportional_hazards() %>%
set_mode("censored regression") %>%
set_engine("survival")
mod_wflow <- workflow() %>%
add_recipe(mod_rec) %>%
add_model(mod_spec, formula = sale_surv ~ sex + id(sample_id)) # add a formula here
mod_fit <- fit(mod_wflow, data = mod_train)
#> Error:
#> ! `id()` was deprecated in dplyr 0.5.0 and is now defunct.
#> ℹ Please use `vctrs::vec_group_id()` instead.
Metadata
Metadata
Assignees
Labels
No labels