Pseudo Value Regression for the Extra Length-of-Stay
Pseudo Value Regression for the Extra Length-of-Stay
closPseudo(data, state.names, tra, cens.name, s = 0,
formula, na.action,
aw = FALSE, ratio = FALSE,
ncores = 1,
trick_ties = FALSE)data |
data.frame of the form data.frame(id,from,to,time) or (id,from,to,entry,exit)
|
state.names |
A vector of characters giving the states names. |
tra |
A quadratic matrix of logical values describing the possible transitions within the multistate model. |
cens.name |
A character giving the code for censored
observations in the column 'to' of |
s |
Starting value for computing the transition probabilities. |
formula |
A formula with the covariates at the right of a
|
na.action |
A function which indicates what should happen when the data contain 'NA's. The default is set by the 'na.action' setting of 'options', and is 'na.fail' if that is unset. The 'factory-fresh' default is 'na.omit'. |
aw |
Logical. Whether to compute the expected change of LOS using
alternative weighting. Default is |
ratio |
Logical. Compute the ratio of the expected length-of-stay
given instermediate event status instead of a difference. Default
value is |
ncores |
Number of cores used if doing parallel computation using the parallel package |
trick_ties |
If |
The function calculates the pseudo-observations for the extra length-of-stay for each individual. These pseudo-observations can then be used to fit a direct regression model using generalized estimating equation (e.g., package geepack).
Computation of the pseudo-observations can be parallelised using the
mclapply function of the parallel package. See argument
ncores.
Recent versions of R have changed the data.frame function,
where the default for the stringsAsFactors
argument from TRUE to FALSE. etm currently
depends on the states being factors, so that the user should use
data.frame(..., stringsAsFactors=TRUE).
An object of class closPseudo with the following components:
pseudoData |
a data.frame containing |
theta |
Estimates of excess LoS in the whole sample |
aw |
like in the function call |
call |
Function call |
Arthur Allignol arthur.allignol@gmail.com
Andersen, P.K, Klein, J.P, Rosthoj, S. (2003). Generalised linear models for correlated pseudo-observations, with applications to multi-state models. Biometrika, 90(1):15–27.
if(require("kmi", quietly = TRUE)) {
## data in kmi package
data(icu.pneu)
my.icu.pneu <- icu.pneu
my.icu.pneu <- my.icu.pneu[order(my.icu.pneu$id, my.icu.pneu$start), ]
masque <- diff(my.icu.pneu$id)
my.icu.pneu$from <- 0
my.icu.pneu$from[c(1, masque) == 0] <- 1
my.icu.pneu$to2 <- my.icu.pneu$event
my.icu.pneu$to2[my.icu.pneu$status == 0] <- "cens"
my.icu.pneu$to2[c(masque, 1) == 0] <- 1
my.icu.pneu$to <- ifelse(my.icu.pneu$to2 %in% c(2, 3), 2,
my.icu.pneu$to2)
my.icu.pneu <- my.icu.pneu[, c("id", "start", "stop", "from", "to",
"to2", "age", "sex")]
names(my.icu.pneu)[c(2, 3)] <- c("entry", "exit")
## computation of the pseudo-observations
## Not run:
ps.icu.pneu <- closPseudo(my.icu.pneu, c("0", "1", "2"), tra_ill(), "cens",
formula = ~ sex + age)
## regression model using geepack
require(geepack)
fit <- geeglm(ps.e.phi ~ sex + age, id = id, data = ps.icu.pneu$pseudoData,
family = gaussian)
summary(fit)
## End(Not run)
} else {
print("This example requires the kmi package")
}Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.