Dear list members,

I'm unable to fit a parametric survival regression using survreg() in the 
survival package with data in "counting-process" ("long") form.

To illustrate using a scaled-down problem with 10 subjects (with data placed on 
the web):

--------------- snip ------------
> library(survival)
> RW <- read.table("http://socserv.mcmaster.ca/jfox/.Pickup/RW.txt";)
> RL <- read.table("http://socserv.mcmaster.ca/jfox/.Pickup/RL.txt";)

> RW # "wide" data
   week arrest age
1    20      1  27
2    17      1  18
3    25      1  19
4    52      0  23
5    52      0  19
6    52      0  24
7    23      1  25
8    52      0  21
9    52      0  22
10   52      0  20

> head(RL, 20) # "long" data, counting-process form
     start stop arrest.time age
1.1      0    1           0  27
1.2      1    2           0  27
1.3      2    3           0  27
1.4      3    4           0  27
1.5      4    5           0  27
1.6      5    6           0  27
1.7      6    7           0  27
1.8      7    8           0  27
1.9      8    9           0  27
1.10     9   10           0  27
1.11    10   11           0  27
1.12    11   12           0  27
1.13    12   13           0  27
1.14    13   14           0  27
1.15    14   15           0  27
1.16    15   16           0  27
1.17    16   17           0  27
1.18    17   18           0  27
1.19    18   19           0  27
1.20    19   20           1  27

--------------- snip ------------

I have no trouble fitting a Cox model to both the wide and long forms of the 
data, obtaining (as should be the case) identical results:

--------------- snip ------------

> coxph(Surv(week, arrest) ~ age, data=RW)  # works
Call:
coxph(formula = Surv(week, arrest) ~ age, data = RW)


      coef exp(coef) se(coef)    z    p
age 0.0963    1.1011   0.2073 0.46 0.64

Likelihood ratio test=0.21  on 1 df, p=0.643
n= 10, number of events= 4 
> coxph(Surv(start, stop, arrest.time) ~ age,  data=RL) # works, same
Call:
coxph(formula = Surv(start, stop, arrest.time) ~ age, data = RL)


      coef exp(coef) se(coef)    z    p
age 0.0963    1.1011   0.2073 0.46 0.64

Likelihood ratio test=0.21  on 1 df, p=0.643
n= 397, number of events= 4 

--------------- snip ------------

But when I try to fit a parametric survival regression with survreg(), I get an 
error with the long form of the data:

--------------- snip ------------

> survreg(Surv(week, arrest) ~ age, data=RW) # works
Call:
survreg(formula = Surv(week, arrest) ~ age, data = RW)

Coefficients:
(Intercept)         age 
 6.35386771 -0.08982624 

Scale= 0.7363196 

Loglik(model)= -22.1   Loglik(intercept only)= -22.2
        Chisq= 0.3 on 1 degrees of freedom, p= 0.58 
n= 10 

> survreg(Surv(start, stop, arrest.time) ~ age,  data=RL) # fails
Error in survreg(Surv(start, stop, arrest.time) ~ age, data = RL) : 
  Invalid survival type

--------------- snip ------------

I expect that there's something about survreg() that I'm missing. I first noted 
this problem quite some time ago but didn't look into it carefully because I 
didn't really need to use survreg().

Any help would be appreciated.

Thanks,
 John
-----------------------------
John Fox, Professor
McMaster University
Hamilton, Ontario
Canada L8S 4M4
Web: socserv.mcmaster.ca/jfox

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to