After having posted another question on the subject, I'm trying this time on my real data (unfortunately not openly publishable) to find the the best variable transformation that yields linearity in log hazard or log cumulative hazard of a Cox proportional Hazard model. For this I'm trying to plot the variable against the residuals by using this code in `R`

```
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)
```

However I get this error message : `Error in xy.coords(x, y, xlabel, ylabel, log) : 'x' and 'y' lengths differ`

Indeed when I enter this code:

```
length(df$risk_factor)
length(res)
```

I get

```
[1] 587
[1] 577
```

respectively

I also checked that there are no `NA`

in `df$risk_factor`

, So I'm assuming that it can hardly come from there. Moreover, as it is a univariate (as opposed to multiple) model, it cannot comes from `NA`

in other variable as there will not even be considered in the model

why do the residuals and the variable differ in length given the fact that the residuals of the model are created FROM the variable itself?

## Best Answer

Do you perhaps have any missing data in

`timespan_censored`

or`status`

? Could you perhaps try the following: