Conditional Evaluation of an Expression¶
Description¶
The function By
evaluates an expression within subsets of a data frame, where the subsets are defined by a formula.
Usage¶
By(formula,expr,data=parent.frame())
Arguments¶
formula

an expression or (preferably) a formula containing the names of conditioning variables or factors.
expr

an expression that is evaluated for any unique combination of values of the variables contained in
formula
. data

a data frame, an object that can be coerced into a data frame (for example, a table), or an environment, from which values for the variables in
formula
orexpr
are taken.
Value¶
A list of class “by”, giving the results for each combination of values of variables in formula
.
Examples¶
berkeley < Aggregate(Table(Admit,Freq)~.,data=UCBAdmissions)
(Bres < By(~Dept,glm(cbind(Admitted,Rejected)~Gender,family="binomial"),data=berkeley))
Dept: A
Call: glm(formula = cbind(Admitted, Rejected) ~ Gender, family = "binomial")
Coefficients:
(Intercept) GenderFemale
0.4921 1.0521
Degrees of Freedom: 1 Total (i.e. Null); 0 Residual
Null Deviance: 19.05
Residual Deviance: 5.551e15 AIC: 15.71

Dept: B
Call: glm(formula = cbind(Admitted, Rejected) ~ Gender, family = "binomial")
Coefficients:
(Intercept) GenderFemale
0.5337 0.2200
Degrees of Freedom: 1 Total (i.e. Null); 0 Residual
Null Deviance: 0.2586
Residual Deviance: 0 AIC: 14.27

Dept: C
Call: glm(formula = cbind(Admitted, Rejected) ~ Gender, family = "binomial")
Coefficients:
(Intercept) GenderFemale
0.5355 0.1249
Degrees of Freedom: 1 Total (i.e. Null); 0 Residual
Null Deviance: 0.751
Residual Deviance: 4.929e14 AIC: 16.9

Dept: D
Call: glm(formula = cbind(Admitted, Rejected) ~ Gender, family = "binomial")
Coefficients:
(Intercept) GenderFemale
0.70396 0.08199
Degrees of Freedom: 1 Total (i.e. Null); 0 Residual
Null Deviance: 0.2979
Residual Deviance: 1.883e13 AIC: 16.65

Dept: E
Call: glm(formula = cbind(Admitted, Rejected) ~ Gender, family = "binomial")
Coefficients:
(Intercept) GenderFemale
0.9570 0.2002
Degrees of Freedom: 1 Total (i.e. Null); 0 Residual
Null Deviance: 0.9904
Residual Deviance: 1.821e14 AIC: 15.6

Dept: F
Call: glm(formula = cbind(Admitted, Rejected) ~ Gender, family = "binomial")
Coefficients:
(Intercept) GenderFemale
2.7697 0.1889
Degrees of Freedom: 1 Total (i.e. Null); 0 Residual
Null Deviance: 0.3836
Residual Deviance: 4.863e14 AIC: 13.83
# The results all have 'data' components
str(Bres[[1]]$data)
'data.frame': 2 obs. of 4 variables:
$ Gender : Factor w/ 2 levels "Male","Female": 1 2
$ Dept : Factor w/ 6 levels "A","B","C","D",..: 1 1
$ Admitted: num 512 89
$ Rejected: num 313 19
attach(berkeley)
(Bres < By(~Dept,glm(cbind(Admitted,Rejected)~Gender,family="binomial")))
Dept: A
Call: glm(formula = cbind(Admitted, Rejected) ~ Gender, family = "binomial")
Coefficients:
(Intercept) GenderFemale
0.4921 1.0521
Degrees of Freedom: 1 Total (i.e. Null); 0 Residual
Null Deviance: 19.05
Residual Deviance: 5.551e15 AIC: 15.71

Dept: B
Call: glm(formula = cbind(Admitted, Rejected) ~ Gender, family = "binomial")
Coefficients:
(Intercept) GenderFemale
0.5337 0.2200
Degrees of Freedom: 1 Total (i.e. Null); 0 Residual
Null Deviance: 0.2586
Residual Deviance: 0 AIC: 14.27

Dept: C
Call: glm(formula = cbind(Admitted, Rejected) ~ Gender, family = "binomial")
Coefficients:
(Intercept) GenderFemale
0.5355 0.1249
Degrees of Freedom: 1 Total (i.e. Null); 0 Residual
Null Deviance: 0.751
Residual Deviance: 4.929e14 AIC: 16.9

Dept: D
Call: glm(formula = cbind(Admitted, Rejected) ~ Gender, family = "binomial")
Coefficients:
(Intercept) GenderFemale
0.70396 0.08199
Degrees of Freedom: 1 Total (i.e. Null); 0 Residual
Null Deviance: 0.2979
Residual Deviance: 1.883e13 AIC: 16.65

Dept: E
Call: glm(formula = cbind(Admitted, Rejected) ~ Gender, family = "binomial")
Coefficients:
(Intercept) GenderFemale
0.9570 0.2002
Degrees of Freedom: 1 Total (i.e. Null); 0 Residual
Null Deviance: 0.9904
Residual Deviance: 1.821e14 AIC: 15.6

Dept: F
Call: glm(formula = cbind(Admitted, Rejected) ~ Gender, family = "binomial")
Coefficients:
(Intercept) GenderFemale
2.7697 0.1889
Degrees of Freedom: 1 Total (i.e. Null); 0 Residual
Null Deviance: 0.3836
Residual Deviance: 4.863e14 AIC: 13.83
detach(berkeley)