On 1/12/19 1:18 AM, Medic wrote:> How to note (in code) a few (!) adjusting covariates for cox
> regression. I had an example for one covariate, and tried (according
> to my own understanding) two variantes of code (pls, see below), and
> got ... a different p-value. What is the right code? Many thanks!!!
>
> (1)
> survdiff (Surv(survt,status)~clinic+strata(prison, dose,
gender),data=addicts)
> N Observed Expected (O-E)^2/E (O-E)^2/V
> clinic=1 163 122 106.2 2.35 14
> clinic=2 75 28 43.8 5.70 14
> Chisq= 14 on 1 degrees of freedom, p= 2e-04
>
> (2)
> survdiff
(Surv(survt,status)~clinic+strata(prison+dose+gender),data=addicts)
> N Observed Expected (O-E)^2/E (O-E)^2/V
> clinic=1 163 122 106.2 2.35 12.1
> clinic=2 75 28 43.8 5.69 12.1
> Chisq= 12.1 on 1 degrees of freedom, p= 5e-04
Read the help page:
> ?strata
>
>
> Usage
>
> strata(..., na.group=FALSE, shortlabel, sep=', ')
> Arguments
>
> ...
> any number of variables. All must be the same length.
>
So the function is documented to accept a list of variable names, but
_not_ as accepting a formula. So I read the help page as endorsing your
first option. Since you didn't include a suitable dataset for testing I
borrowed the ovarian dataframe and checked to see whether the sum of
variables submitted with a "+" sign was being calculated and can
confirm
that it is:
>? coxph(Surv(futime, fustat) ~ age + strata(I(rx+ecog.ps)), data=ovarian)
Call:
coxph(formula = Surv(futime, fustat) ~ age + strata(I(rx + ecog.ps)),
??? data = ovarian)
?????? coef exp(coef) se(coef)???? z?????? p
age 0.11942?? 1.12684? 0.04528 2.637 0.00836
Likelihood ratio test=9.48? on 1 df, p=0.002073
n= 26, number of events= 12
>? coxph(Surv(futime, fustat) ~ age + strata( rx+ecog.ps) , data=ovarian)
Call:
coxph(formula = Surv(futime, fustat) ~ age + strata(rx + ecog.ps),
??? data = ovarian)
?????? coef exp(coef) se(coef)???? z?????? p
age 0.11942?? 1.12684? 0.04528 2.637 0.00836
--
David.