forest_model не принимает факторные переменные с пробелом в имени
Я пытаюсь построить модель пропорционального отношения рисков Кокса, рассчитанную с помощью функции coxph() выживания с использованием функции forestmodel's forest_model.
Ковариаты являются факторами, некоторые из их названий имеют пробел в них, т.е. "Хирургическая резекция". Когда я ввожу их в модель coxph, я обращаюсь к ним с помощью обратных кавычек, чтобы R знал, что игнорирует пробел:
res.coxm <- coxph(Surv(Survival_Overall, Death == 1) ~ Age+`Surgical Resection`
+`Intracranial BoD`+`Systemic BoD`+`Treatment prior to CNS involvement`+
`Systemic treatment after CNS involvlement`+`Brain-directed radiotherapy`, data = df)
Модель работает нормально. Когда я пытаюсь построить эту модель, я получаю сообщение об ошибке:
forest_model(res.coxm, format_options = list(color="black", text_size=4.5))
Error in grouped_df_impl(data, unname(vars), drop) : Column `Surgical Resection` is unknown
Кто-нибудь сталкивался с этой проблемой?
График формируется нормально, если: - я изменяю имена переменных на их "безпространственные" версии, то есть "urgical_resection"вместо"Surgical Resection" ИЛИ - если я изменяю переменные с факторов на целые числа, но сохраняю имена с пробелами
Я пытался перекодировать мой оригинальный df с различными функциями именования столбцов, включая имена (sd)
Есть идеи? Спасибо!!
1 ответ
Казалось бы, это путь наименьшего сопротивления для переименования ваших столбцов, поэтому у них нет пробелов. Если это удастся, то вы также можете отправить запрос на поддержку сопровождающему с просьбой привести пакет в соответствие с обычной практикой программирования в регрессионных функциях R. Если это не удастся, вы все равно отправите запрос с несколько другим содержанием.
Я также не могу воспроизвести ошибку с помощью простого контрольного примера:
test1 <- list(time=c(4,3,1,1,2,2,3),
status=c(1,1,1,0,1,1,0),
x=c(0,2,1,1,1,0,0),
'Sex m f'=c(0,0,0,0,1,1,1))
f <- coxph(Surv(time, status) ~ x + `Sex m f`, test1)
forestmodel::forest_model(f)
# no error, plot as expected.