Learn R Programming

effects (version 3.0-2)

summary.eff: Summarizing, Printing, and Plotting Effects

Description

summary, print, plot, and [ methods for eff, effpoly, efflist, and mlm.efflist objects.

Usage

## S3 method for class 'eff':
print(x, type=c("response", "link"), ...)
## S3 method for class 'effpoly':
print(x, type=c("probability", "logits"), ...)
## S3 method for class 'efflatent':
print(x, ...)
## S3 method for class 'efflist':
print(x, ...)
## S3 method for class 'mlm.efflist':
print(x, ...)
## S3 method for class 'summary.eff':
print(x, ...)
## S3 method for class 'eff':
summary(object, type=c("response", "link"), ...)
## S3 method for class 'effpoly':
summary(object, type=c("probability", "logits"), ...)
## S3 method for class 'efflatent':
summary(object, ...)
## S3 method for class 'efflist':
summary(object, ...)
## S3 method for class 'mlm.efflist':
summary(object, ...)
## S3 method for class 'eff':
plot(x, x.var,
    z.var=which.min(levels), multiline=is.null(x$se), rug=TRUE, 
    xlab, ylab, main=paste(effect, "effect plot"),
    colors=palette(), symbols=1:length(colors), lines=1:length(colors),
    cex=1.5, lwd=2, ylim, xlim=NULL,
    factor.names=TRUE, ci.style, band.transparency=0.15, band.colors=colors,
    type=c("response", "link"), ticks=list(at=NULL, n=5),  
    alternating=TRUE, rotx=0, roty=0, grid=FALSE, layout, rescale.axis=TRUE, 
    transform.x=NULL, ticks.x=NULL,
    key.args=NULL, 
    row=1, col=1, nrow=1, ncol=1, more=FALSE, 
    use.splines=TRUE, partial.residuals=c("adjusted", "raw"), show.fitted=FALSE,
    residuals.color="blue", residuals.pch=1, smooth.residuals=TRUE, span=2/3, ...)
## S3 method for class 'effpoly':
plot(x,
		type=c("probability", "logit"),
		x.var=which.max(levels),
		rug=TRUE,
		xlab,
		ylab=paste(x$response, " (", type, ")", sep=""),
		main=paste(effect, "effect plot"),
		colors, symbols, lines, cex=1.5, lwd=2,
		factor.names=TRUE, ci.style, band.colors, band.transparency=0.3,
		style=c("lines", "stacked"),
		confint=(style == "lines" && !is.null(x$confidence.level)),
		transform.x=NULL, ticks.x=NULL, xlim=NULL,
		ylim, rotx=0, alternating=TRUE, roty=0, grid=FALSE,
		layout, key.args=NULL,
		row=1, col=1, nrow=1, ncol=1, more=FALSE, use.splines=TRUE, ...)
## S3 method for class 'efflist':
plot(x, selection, rows, cols, ask=FALSE, graphics=TRUE, ...)
## S3 method for class 'mlm.efflist':
plot(x, ...)
## S3 method for class 'efflist':
[(x, ...)

Arguments

Value

The summary method for "eff" objects returns a "summary.eff" object with the following components (those pertaining to confidence limits need not be present):headera character string to label the effect.effectan array containing the estimated effect.lower.headera character string to label the lower confidence limits.loweran array containing the lower confidence limits.upper.headera character string to label the upper confidence limits.upperan array containing the upper confidence limits.The [ method for "efflist" objects is used to subset an "efflist" object and returns an object of the same class.

Details

In a generalized linear model, by default, the print and summary methods for eff objects print the computed effects on the scale of the response variable using the inverse of the link function. In a logit model, for example, this means that the effects are expressed on the probability scale. By default, effects in a GLM are plotted on the scale of the linear predictor, but the vertical axis is labelled on the response scale. This preserves the linear structure of the model while permitting interpretation on what is usually a more familiar scale. This approach may also be used with linear models, for example to display effects on the scale of the response even if the data are analyzed on a transformed scale, such as log or square-root. In a polytomous (multinomial or proportional-odds) logit model, by default effects are plotted on the probability scale; they may be alternatively plotted on the scale of the individual-level logits.

See Also

effect, allEffects, xyplot, densityplot, print.trellis, loess, rainbow_hcl, sequential_hcl

Examples

Run this code
# also see examples in ?effect

mod.cowles <- glm(volunteer ~ sex + neuroticism*extraversion,
    data=Cowles, family=binomial)
eff.cowles <- allEffects(mod.cowles, xlevels=list(extraversion=seq(0, 24, 6)))
eff.cowles
as.data.frame(eff.cowles[[2]]) # neuroticism*extraversion interaction

plot(eff.cowles, 'sex', ylab="Prob(Volunteer)", grid=TRUE, rotx=90)

plot(eff.cowles, 'neuroticism:extraversion', ylab="Prob(Volunteer)",
    ticks=list(at=c(.1,.25,.5,.75,.9)))

# change color of the confidence bands to 'black' with .15 transparency
plot(eff.cowles, 'neuroticism:extraversion', ylab="Prob(Volunteer)",
    ticks=list(at=c(.1,.25,.5,.75,.9)), band.colors="red", band.transparency=.3)

plot(eff.cowles, 'neuroticism:extraversion', multiline=TRUE,
    ylab="Prob(Volunteer)", key.args = list(x = 0.75, y = 0.75, corner = c(0, 0)))

# use probability scale in place of logit scale, all lines are black.
plot(eff.cowles, 'neuroticism:extraversion', multiline=TRUE,
    ylab="Prob(Volunteer)", key.args = list(x = 0.75, y = 0.75, corner = c(0, 0)),
    colors="black", lines=1:8,
    ci.style="bands", rescale.axis=FALSE, band.colors=palette())

plot(effect('sex:neuroticism:extraversion', mod.cowles,
    xlevels=list(extraversion=seq(0, 24, 6))), multiline=TRUE)

plot(effect('sex:neuroticism:extraversion', mod.cowles,
    xlevels=list(extraversion=seq(0, 24, 6))), multiline=TRUE,
    rescale.axis=FALSE, ci.style="bands")

if (require(nnet)){
mod.beps <- multinom(vote ~ age + gender + economic.cond.national +
				economic.cond.household + Blair + Hague + Kennedy +
				Europe*political.knowledge, data=BEPS)
plot(effect("Europe*political.knowledge", mod.beps,
	xlevels=list(political.knowledge=0:3)))

plot(effect("Europe*political.knowledge", mod.beps,
		xlevels=list(political.knowledge=0:3),
		given.values=c(gendermale=0.5)),
	style="stacked", colors=c("blue", "red", "orange"), rug=FALSE)
}

if (require(MASS)){
mod.wvs <- polr(poverty ~ gender + religion + degree + country*poly(age,3),
	data=WVS)
plot(effect("country*poly(age, 3)", mod.wvs))

plot(effect("country*poly(age, 3)", mod.wvs), style="stacked",
	colors=c("gray75", "gray50", "gray25"))

plot(effect("country*poly(age, 3)", latent=TRUE, mod.wvs))
}

mod.pres <- lm(prestige ~ log(income, 10) + poly(education, 3) + poly(women, 2),
    data=Prestige)
eff.pres <- allEffects(mod.pres, default.levels=50)
plot(eff.pres)
plot(eff.pres[1:2])
plot(eff.pres[1],
    transform.x=list(income=list(trans=log10, inverse=function(x) 10^x)),
    ticks.x=list(income=list(at=c(1000, 2000, 5000, 10000, 20000))))

Run the code above in your browser using DataLab