which.influence function

Which Observations are Influential

Which Observations are Influential

Creates a list with a component for each factor in the model. The names of the components are the factor names. Each component contains the observation identifiers of all observations that are "overly influential" with respect to that factor, meaning that c("dfbetas>\n|dfbetas| >\n", "uu") for at least one betaibeta i associated with that factor, for a given cutoff. The default cutoff is .2. The fit must come from a function that has resid(fit, type="dfbetas")

defined.

show.influence, written by Jens Oehlschlaegel-Akiyoshi, applies the result of which.influence to a data frame, usually the one used to fit the model, to report the results.

which.influence(fit, cutoff=.2) show.influence(object, dframe, report=NULL, sig=NULL, id=NULL)

Arguments

  • fit: fit object
  • object: the result of which.influence
  • dframe: data frame containing observations pertinent to the model fit
  • cutoff: cutoff value
  • report: other columns of the data frame to report besides those corresponding to predictors that are influential for some observations
  • sig: runs results through signif with sig digits if sig is given
  • id: a character vector that labels rows of dframe if row.names were not used

Returns

show.influence returns a marked dataframe with the first column being a count of influence values

Author(s)

Frank Harrell

Department of Biostatistics, Vanderbilt University

fh@fharrell.com

Jens Oehlschlaegel-Akiyoshi

Center for Psychotherapy Research

Christian-Belser-Strasse 79a

D-70597 Stuttgart Germany

oehl@psyres-stuttgart.de

See Also

residuals.lrm, residuals.cph, residuals.ols, rms, lrm, ols, cph

Examples

#print observations in data frame that are influential, #separately for each factor in the model x1 <- 1:20 x2 <- abs(x1-10) x3 <- factor(rep(0:2,length.out=20)) y <- c(rep(0:1,8),1,1,1,1) f <- lrm(y ~ rcs(x1,3) + x2 + x3, x=TRUE,y=TRUE) w <- which.influence(f, .55) nam <- names(w) d <- data.frame(x1,x2,x3,y) for(i in 1:length(nam)) { print(paste("Influential observations for effect of ",nam[i]),quote=FALSE) print(d[w[[i]],]) } show.influence(w, d) # better way to show results
  • Maintainer: Frank E Harrell Jr
  • License: GPL (>= 2)
  • Last published: 2025-01-17