Learn R Programming

discSurv (version 1.1.2)

devResidShort: Deviance Residuals

Description

Computes the root of the deviance residuals for evaluation of performance in discrete survival analysis.

Usage

devResidShort(dataSet, hazards)

Arguments

dataSet
Original data in short format. Must be of class "data.frame"
hazards
Estimated hazard rates of the data in long format. Hazard rates are probabilities and therefore restricted to the interval [0, 1]

Value

    • Output:
    {List with objects:}
    • DevResid:
    {Square root of deviance residuals as numeric vector.}

item

Input:

References

Gerhard Tutz, (2012), Regression for Categorical Data, Cambridge University Press

See Also

adjDevResidShort, predErrDiscShort

Examples

Run this code
library(survival)

# Transform data to long format
heart[, "stop"] <- ceiling(heart[, "stop"])
set.seed(0)
Indizes <- sample(unique(heart$id), 25)
randSample <- heart[unlist(sapply(1:length(Indizes), 
function(x) which(heart$id==Indizes[x]))),]
heartLong <- dataLongTimeDep(dataSet=randSample, 
timeColumn="stop", censColumn="event", idColumn="id")

# Fit a generalized, additive model and predict hazard rates on data in long format
library(mgcv)
gamFit <- gam(y ~ timeInt + surgery + transplant + s(age), data=heartLong, family="binomial")
hazPreds <- predict(gamFit, type="response")

# Calculate the deviance residuals
devResiduals <- devResidShort (dataSet=heartLong, hazards=hazPreds)$Output$DevResid

# Compare with estimated normal distribution
plot(density(devResiduals), 
main="Empirical density vs estimated normal distribution", 
las=1, ylim=c(0, 0.5))
tempFunc <- function (x) dnorm(x, mean=mean(devResiduals), sd=sd(devResiduals))
curve(tempFunc, xlim=c(-10, 10), add=TRUE, col="red")
# The empirical density seems like a mixture distribution, 
# but is not too far off in with values greater than 3 and less than 1

Run the code above in your browser using DataLab