with {base} | R Documentation |
Evaluate an R expression in an environment constructed from data.
with(data, expr, ...)
data |
data to use for constructing an environment. For the
default method this may be an environment, a list, a data frame,
or an integer as in sys.call . |
expr |
expression to evaluate. |
... |
arguments to be passed to future methods. |
with
is a generic function that evaluates expr
in a
local environment constructed from data
. The environment has
the caller's environment as its parent. This is useful for
simplifying calls to modeling functions.
#examples from glm: library(MASS) data(anorexia) with(anorexia, { anorex.1 <- glm(Postwt ~ Prewt + Treat + offset(Prewt), family = gaussian) summary(anorex.1) }) with(data.frame(u = c(5,10,15,20,30,40,60,80,100), lot1 = c(118,58,42,35,27,25,21,19,18), lot2 = c(69,35,26,21,18,16,13,12,12)), list(summary(glm(lot1 ~ log(u), family=Gamma)), summary(glm(lot2 ~ log(u), family=Gamma)))) # example from boxplot: data(ToothGrowth) with(ToothGrowth, { boxplot(len ~ dose, boxwex = 0.25, at = 1:3 - 0.2, subset= supp == "VC", col="yellow", main="Guinea Pigs' Tooth Growth", xlab="Vitamin C dose mg", ylab="tooth length", ylim=c(0,35)) boxplot(len ~ dose, add = TRUE, boxwex = 0.25, at = 1:3 + 0.2, subset= supp == "OJ", col="orange") legend(2, 9, c("Ascorbic acid", "Orange juice"), fill = c("yellow", "orange")) }) # alternate form that avoids subset argument: with(subset(ToothGrowth, supp == "VC"), boxplot(len ~ dose, boxwex = 0.25, at = 1:3 - 0.2, col="yellow", main="Guinea Pigs' Tooth Growth", xlab="Vitamin C dose mg", ylab="tooth length", ylim=c(0,35))) with(subset(ToothGrowth, supp == "OJ"), boxplot(len ~ dose, add = TRUE, boxwex = 0.25, at = 1:3 + 0.2, col="orange")) legend(2, 9, c("Ascorbic acid", "Orange juice"), fill = c("yellow", "orange"))