Description Usage Arguments Value Author(s) Examples
Tools to convert a Cox proportional hazard model into Poisson regression
1 2 |
formula |
The formula for the coxph model where the reponse must be a |
data |
All the data used in the formula, as a list. |
control.hazard |
Control the model for the baseline-hazard; see |
debug |
Print debug-information |
... |
Data.frames to be |
inla.coxph
returns a list of new expanded variables to be used in the inla
-call.
Note that element data
and data.list
needs to be merged into
a list
to be passed as the data
argument. See the example for details.
inla.cbind.data.frames
returns the new data.frame.
Havard Rue hrue@math.ntnu.no
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | ## How the cbind.data.frames works:
df1 = data.frame(x=1:2, y=2:3, z=3:4)
df2 = data.frame(x=3:4, yy=4:5, zz=5:6)
inla.cbind.data.frames(df1, df2)
## Standard example of how to convert a coxph into a Poisson regression
n = 1000
x = runif(n)
lambda = exp(1+x)
y = rexp(n, rate=lambda)
event = rep(1,n)
data = list(y=y, event=event, x=x)
y.surv = inla.surv(y, event)
intercept1 = rep(1, n)
p = inla.coxph(y.surv ~ -1 + intercept1 + x,
list(y.surv = y.surv, x=x, intercept1 = intercept1))
r = inla(p$formula,
family = p$family,
data=c(as.list(p$data), p$data.list),
E = p$E)
summary(r)
## How to use this in a joint model
intercept2 = rep(1, n)
y = 1 + x + rnorm(n, sd=0.1)
df = data.frame(intercept2, x, y)
## new need to cbind the data.frames, and then add the list-part of
## the data
df.joint = c(as.list(inla.cbind.data.frames(p$data, df)), p$data.list)
df.joint$Y = cbind(df.joint$y..coxph, df.joint$y)
## merge the formulas, recall to add '-1' and to use the new joint
## reponse 'Y'
formula = update(p$formula, Y ~ intercept2 -1 + .)
rr = inla(formula,
family = c(p$family, "gaussian"),
data = df.joint,
E = df.joint$E)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.