Search code examples
rsurvival-analysis

Add.times in R relsurv


I am new to coding and to R. Currently working with package relsurv. For this I would like to calculate the relative survival at certain timepoints.

I am using the following to assess RS at five years:

rcurve2 <- rs.surv(Surv(time_days17/365.241,event_17)~1+
  ratetable(age = age_diagnosis*365.241, sex = sex,
  year = year_diagnosis_days), data = survdata, ratetable = swepop,
  method="ederer1",conf.int=0.95,type="kaplan-meier",
  add.times = 5*365.241)

summary(rcurve2)

However, I get the same result in my summary output regardless of what number I put after add.times ie for all event/cenasoring points (see below)

 time  n.risk n.event survival std.err lower 95% CI upper 95% CI
 0.205    177       1   0.9944 0.00562       0.9834        1.005
 0.627    176       1   0.9888 0.00792       0.9734        1.004
 0.742    175       1   0.9831 0.00968       0.9644        1.002
 0.827    174       1   0.9775 0.01114       0.9559        1.000
 0.849    173       1   0.9718 0.01242       0.9478        0.996
 0.947    172       1   0.9662 0.01356       0.9400        0.993
...cont. 

I am clearly not getting it right! Would be grateful for your help!


Solution

  • A very good question!

    When adding "imaginary" times using add.times, they are automatically censored, and wont show up with the summary() function. To see your added times set censored = TRUE:

    summary(rcurve2, censored = TRUE)
    

    You should now find your added time in the list that follows.

    EXAMPLE

    Using built in data with the relsurv package

    data(slopop)
    data(rdata)
    
    #note the last argument add.times=1000
    rcurve2 <- rs.surv(Surv(time,cens)~sex+ratetable(age=age*365.241, sex=sex, 
          year=year), ratetable=slopop, data=rdata, add.times = 1000)
    

    When using summary(rcurve2) the time 1000 wont show up:

    >summary(rcurve2)
    [...]
      973    200       1    0.792 0.03081        0.734        0.855
      994    199       1    0.790 0.03103        0.732        0.854
     1002    198       1    0.783 0.03183        0.723        0.848
    [...]
    

    BUT using summary(rcurve2, censored=TRUE) it will!

    >summary(rcurve2, censored=TRUE)
    [...]
      973    200       1    0.792 0.03081        0.734        0.855
      994    199       1    0.790 0.03103        0.732        0.854
     1000    198       0    0.791 0.03106        0.732        0.854
     1002    198       1    0.783 0.03183        0.723        0.848
    [...]