Я пытаюсь найти лучшее переменное преобразование, которое дает линейность в логарифмической или логарифмически-суммарной опасности из пропорциональной модели опасности Кокса.Поскольку эти данные исследований, я не могу опубликовать их здесь.Для этого я пытаюсь построить переменную против остатков с помощью этого кода.
cox_mod_spline = coxph(Surv(timespan_censored,status)~ risk_factor, data = df)
res = residuals(cox_mod_spline, type = "martingale")
df$risk_factor
plot(na.omit(df$risk_factor), res)
Однако я получаю это сообщение об ошибке: Error in xy.coords(x, y, xlabel, ylabel, log) : 'x' and 'y' lengths differ
Действительно, когда я ввожу этот код:
length(df$risk_factor)
length(res)
Я получаю
[1] 587
[1] 577
соответственно
Я также проверил, что нет NA
в df$risk_factor
, почему остатки и переменная отличаются по длине, учитывая тот факт, что остатки создаются из переменнойсама