Chapter 7 - Moving Beyond Linearity

Problem 6

In this exercise, you will further analyze the Wage data set considered throughout this chapter.

library(ISLR)
summary(Wage)
##       year           age                     maritl           race     
##  Min.   :2003   Min.   :18.00   1. Never Married: 648   1. White:2480  
##  1st Qu.:2004   1st Qu.:33.75   2. Married      :2074   2. Black: 293  
##  Median :2006   Median :42.00   3. Widowed      :  19   3. Asian: 190  
##  Mean   :2006   Mean   :42.41   4. Divorced     : 204   4. Other:  37  
##  3rd Qu.:2008   3rd Qu.:51.00   5. Separated    :  55                  
##  Max.   :2009   Max.   :80.00                                          
##                                                                        
##               education                     region               jobclass   
##  1. < HS Grad      :268   2. Middle Atlantic   :3000   1. Industrial :1544  
##  2. HS Grad        :971   1. New England       :   0   2. Information:1456  
##  3. Some College   :650   3. East North Central:   0                        
##  4. College Grad   :685   4. West North Central:   0                        
##  5. Advanced Degree:426   5. South Atlantic    :   0                        
##                           6. East South Central:   0                        
##                           (Other)              :   0                        
##             health      health_ins      logwage           wage       
##  1. <=Good     : 858   1. Yes:2083   Min.   :3.000   Min.   : 20.09  
##  2. >=Very Good:2142   2. No : 917   1st Qu.:4.447   1st Qu.: 85.38  
##                                      Median :4.653   Median :104.92  
##                                      Mean   :4.654   Mean   :111.70  
##                                      3rd Qu.:4.857   3rd Qu.:128.68  
##                                      Max.   :5.763   Max.   :318.34  
## 
str(Wage)
## 'data.frame':    3000 obs. of  11 variables:
##  $ year      : int  2006 2004 2003 2003 2005 2008 2009 2008 2006 2004 ...
##  $ age       : int  18 24 45 43 50 54 44 30 41 52 ...
##  $ maritl    : Factor w/ 5 levels "1. Never Married",..: 1 1 2 2 4 2 2 1 1 2 ...
##  $ race      : Factor w/ 4 levels "1. White","2. Black",..: 1 1 1 3 1 1 4 3 2 1 ...
##  $ education : Factor w/ 5 levels "1. < HS Grad",..: 1 4 3 4 2 4 3 3 3 2 ...
##  $ region    : Factor w/ 9 levels "1. New England",..: 2 2 2 2 2 2 2 2 2 2 ...
##  $ jobclass  : Factor w/ 2 levels "1. Industrial",..: 1 2 1 2 2 2 1 2 2 2 ...
##  $ health    : Factor w/ 2 levels "1. <=Good","2. >=Very Good": 1 2 1 2 1 2 2 1 2 2 ...
##  $ health_ins: Factor w/ 2 levels "1. Yes","2. No": 2 2 1 1 1 1 1 1 1 1 ...
##  $ logwage   : num  4.32 4.26 4.88 5.04 4.32 ...
##  $ wage      : num  75 70.5 131 154.7 75 ...
  1. Perform polynomial regression to predict wage using age. Use cross-validation to select the optimal degree d for the polynomial. What degree was chosen, and how does this compare to the results of hypothesis testing using ANOVA? Make a plot of the resulting polynomial fit to the data.

Using K-Fold Cross Validation with K = 10 -

library(boot)
set.seed(1010)
cv.error <- rep(0, 5) # Initiate an empty vector to store computed Cross Validation Errors

for (i in 1:5) { # For-Loop to Increment from 1 to 5
  wage.fit<-glm(wage~poly(age, i, raw = T), data=Wage) # Fit the Generalized Linear Regression Model
  cv.error[i]<-cv.glm(Wage, wage.fit, K=10)$delta[1] # Calculate the Cross Validation Error
}

cv.error # Print Out the Resulting Cross Validation Error
## [1] 1675.708 1599.987 1596.459 1595.367 1595.502
plot(1:5, cv.error, xlab="Degree for Polynomial", ylab = "CV Error", type = "l")
d.min<-which.min(cv.error) # Finds Lowest CV Error 
points(d.min, cv.error[d.min], col="red", cex=2, pch=20) # Plots Lowest CV Error

Using K-Fold Cross-Validation, the optimal degree for the Polynomial is 4 with the Cross Validation Error of 1595.367.

ANOVA Hypothesis Testing -

fit.1=lm(wage~age, data = Wage)
fit.2=lm(wage~poly(age,2, raw = T), data = Wage)
fit.3=lm(wage~poly(age,3, raw = T), data = Wage)
fit.4=lm(wage~poly(age,4, raw = T), data = Wage)
fit.5=lm(wage~poly(age,5, raw = T), data = Wage)
anova(fit.1,fit.2,fit.3,fit.4,fit.5)
## Analysis of Variance Table
## 
## Model 1: wage ~ age
## Model 2: wage ~ poly(age, 2, raw = T)
## Model 3: wage ~ poly(age, 3, raw = T)
## Model 4: wage ~ poly(age, 4, raw = T)
## Model 5: wage ~ poly(age, 5, raw = T)
##   Res.Df     RSS Df Sum of Sq        F    Pr(>F)    
## 1   2998 5022216                                    
## 2   2997 4793430  1    228786 143.5931 < 2.2e-16 ***
## 3   2996 4777674  1     15756   9.8888  0.001679 ** 
## 4   2995 4771604  1      6070   3.8098  0.051046 .  
## 5   2994 4770322  1      1283   0.8050  0.369682    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

With the ANOVA Test, the Null Hypothesis (\(H_0\)) explains that a simple model is sufficient to explain the data. Whereas the Alternative Hypothesis (\(H_a\)) explains that a more complex model is required. In this case, the p-value comparing the linear Model 1 to the quadratic Model 2 is essentially zero, indicating that a linear fit is not sufficient. Similarly the p-value comparing the quadratic Model 2 to the cubic Model 3 is very low with a p-value of 0.001679, so this inidicates that the quadratic fit is also insufficient to explain the data. Looking at p-value comparing cubic Model 3 and quartic Model 4 is approximately 5.10% which will not pass this test with a cut-off at p-value = 0.05 - thus the quartic Model 4 is unnecessary. Lastly, with the large p-value comparing quartic Model 4 and quintic Model 5, explains that the higher-degree of 5 is definitely unnecessary. Hence, the cubic Model 3 is sufficient in explaining the data and provides a reasonable fit to the data.

Ploting the Two Polynomials selected by K-Folds Cross-Validation and ANOVA -

plot(wage~age, data=Wage, col="grey80", main="Polynomial Degree of 3 & 4 for Age Against Wage")
agelimit = range(Wage$age)
age.grid = seq(from = agelimit[1], to = agelimit[2])
wage.poly.3 = lm(wage~poly(age,3), data = Wage)
preds=predict(wage.poly.3, newdata = list(age = age.grid))
lines(age.grid, preds, col="royalblue1", lwd=2)
wage.poly.4 = lm(wage~poly(age,4), data = Wage)
preds2 = predict(wage.poly.4, newdata = list(age = age.grid))
lines(age.grid, preds2, col="indianred1", lwd=2)

The two Polynomials where d = 3 and d = 4 show similar movements along the data except when the age = 75 and on.

  1. Fit a step function to predict wage using age, and perform cross-validation to choose the optimal number of cuts. Make a plot of the fit obtained.

We will utilize K-Folds Cross-Validation to determine the optimal number of cuts for a step function -

set.seed(1010)
cut.cv.err = rep(NA, 10)
for (i in 2:10) { # For-Loop to Increment from 2 to 10 Cuts 
  Wage$age.cut=cut(Wage$age, i) # Cutspoints per i 
  fit.cut=glm(wage~age.cut, data=Wage) # Fit Generalized Linear Model 
  cut.cv.err[i]=cv.glm(Wage, fit.cut, K=10)$delta[1] # Caclulate the Cross Validation Error 
}
cut.cv.err # Print Cross-Validation Error 
##  [1]       NA 1734.170 1682.765 1636.465 1633.622 1624.730 1610.688 1602.017
##  [9] 1611.424 1603.890
plot(2:10, cut.cv.err[-1], main= "Selecting # of Cuts for Step Function", xlab = "Cuts", ylab="CV Error", type="l")
d.min=which.min(cut.cv.err)
points(which.min(cut.cv.err), cut.cv.err[which.min(cut.cv.err)], col="red", cex=2, pch=20)

With K-Folds Cross-Validation, the optimal # of Cuts selected is 8.

With Cuts = 8, I will fit the Step Function -

plot(wage~age, data = Wage, col = "grey80", main = "Step Function with 8 Cuts")
step.fit = glm(wage~cut(age,8), data = Wage)
step.preds = predict(step.fit, list(age = age.grid))
lines(age.grid, step.preds, col = "orchid4", lwd=2)

As described in the book, we use the Step Function in order to avoid imposing such a global structure to the data. In the graph above, you will see that the data is separated into 8 different bins to describe the trends with wage in relation to age. This function is typically used for data like this where the you are attempting to understand trends against several age groups.

Problem 10

This question relates to the College data set.

library(ISLR)
summary(College)
##  Private        Apps           Accept          Enroll       Top10perc    
##  No :212   Min.   :   81   Min.   :   72   Min.   :  35   Min.   : 1.00  
##  Yes:565   1st Qu.:  776   1st Qu.:  604   1st Qu.: 242   1st Qu.:15.00  
##            Median : 1558   Median : 1110   Median : 434   Median :23.00  
##            Mean   : 3002   Mean   : 2019   Mean   : 780   Mean   :27.56  
##            3rd Qu.: 3624   3rd Qu.: 2424   3rd Qu.: 902   3rd Qu.:35.00  
##            Max.   :48094   Max.   :26330   Max.   :6392   Max.   :96.00  
##    Top25perc      F.Undergrad     P.Undergrad         Outstate    
##  Min.   :  9.0   Min.   :  139   Min.   :    1.0   Min.   : 2340  
##  1st Qu.: 41.0   1st Qu.:  992   1st Qu.:   95.0   1st Qu.: 7320  
##  Median : 54.0   Median : 1707   Median :  353.0   Median : 9990  
##  Mean   : 55.8   Mean   : 3700   Mean   :  855.3   Mean   :10441  
##  3rd Qu.: 69.0   3rd Qu.: 4005   3rd Qu.:  967.0   3rd Qu.:12925  
##  Max.   :100.0   Max.   :31643   Max.   :21836.0   Max.   :21700  
##    Room.Board       Books           Personal         PhD        
##  Min.   :1780   Min.   :  96.0   Min.   : 250   Min.   :  8.00  
##  1st Qu.:3597   1st Qu.: 470.0   1st Qu.: 850   1st Qu.: 62.00  
##  Median :4200   Median : 500.0   Median :1200   Median : 75.00  
##  Mean   :4358   Mean   : 549.4   Mean   :1341   Mean   : 72.66  
##  3rd Qu.:5050   3rd Qu.: 600.0   3rd Qu.:1700   3rd Qu.: 85.00  
##  Max.   :8124   Max.   :2340.0   Max.   :6800   Max.   :103.00  
##     Terminal       S.F.Ratio      perc.alumni        Expend     
##  Min.   : 24.0   Min.   : 2.50   Min.   : 0.00   Min.   : 3186  
##  1st Qu.: 71.0   1st Qu.:11.50   1st Qu.:13.00   1st Qu.: 6751  
##  Median : 82.0   Median :13.60   Median :21.00   Median : 8377  
##  Mean   : 79.7   Mean   :14.09   Mean   :22.74   Mean   : 9660  
##  3rd Qu.: 92.0   3rd Qu.:16.50   3rd Qu.:31.00   3rd Qu.:10830  
##  Max.   :100.0   Max.   :39.80   Max.   :64.00   Max.   :56233  
##    Grad.Rate     
##  Min.   : 10.00  
##  1st Qu.: 53.00  
##  Median : 65.00  
##  Mean   : 65.46  
##  3rd Qu.: 78.00  
##  Max.   :118.00
str(College)
## 'data.frame':    777 obs. of  18 variables:
##  $ Private    : Factor w/ 2 levels "No","Yes": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Apps       : num  1660 2186 1428 417 193 ...
##  $ Accept     : num  1232 1924 1097 349 146 ...
##  $ Enroll     : num  721 512 336 137 55 158 103 489 227 172 ...
##  $ Top10perc  : num  23 16 22 60 16 38 17 37 30 21 ...
##  $ Top25perc  : num  52 29 50 89 44 62 45 68 63 44 ...
##  $ F.Undergrad: num  2885 2683 1036 510 249 ...
##  $ P.Undergrad: num  537 1227 99 63 869 ...
##  $ Outstate   : num  7440 12280 11250 12960 7560 ...
##  $ Room.Board : num  3300 6450 3750 5450 4120 ...
##  $ Books      : num  450 750 400 450 800 500 500 450 300 660 ...
##  $ Personal   : num  2200 1500 1165 875 1500 ...
##  $ PhD        : num  70 29 53 92 76 67 90 89 79 40 ...
##  $ Terminal   : num  78 30 66 97 72 73 93 100 84 41 ...
##  $ S.F.Ratio  : num  18.1 12.2 12.9 7.7 11.9 9.4 11.5 13.7 11.3 11.5 ...
##  $ perc.alumni: num  12 16 30 37 2 11 26 37 23 15 ...
##  $ Expend     : num  7041 10527 8735 19016 10922 ...
##  $ Grad.Rate  : num  60 56 54 59 15 55 63 73 80 52 ...
attach(College)
  1. Split the data into a training set and a test set. Using out-of-state tuition as the response and the other variables as the predictors, perform forward stepwise selection on the training set in order to identify a satisfactory model that uses just a subset of the predictors.

Splitting Data into Training and Testing Data -

library(caret)
## Loading required package: lattice
## 
## Attaching package: 'lattice'
## The following object is masked from 'package:boot':
## 
##     melanoma
## Loading required package: ggplot2
library(leaps)
library(tidyr)
library(modelr)
set.seed(5432)
train.index <- createDataPartition(College$Outstate, p = 0.75, list = FALSE)
College.train <- College[train.index,]
College.test <- College[-train.index,]

Forward Stepwise Selection on Training Data -

dummy.matrix <- model.matrix(Outstate ~., data = College.train)
College.fwd.selection  <- regsubsets(x = dummy.matrix, y = College.train$Outstate, nvmax = 17, method = "forward")
## Reordering variables and trying again:
fwd.summary <- summary(College.fwd.selection)
fwd.summary
## Subset selection object
## 18 Variables  (and intercept)
##             Forced in Forced out
## PrivateYes      FALSE      FALSE
## Apps            FALSE      FALSE
## Accept          FALSE      FALSE
## Enroll          FALSE      FALSE
## Top10perc       FALSE      FALSE
## Top25perc       FALSE      FALSE
## F.Undergrad     FALSE      FALSE
## P.Undergrad     FALSE      FALSE
## Room.Board      FALSE      FALSE
## Books           FALSE      FALSE
## Personal        FALSE      FALSE
## PhD             FALSE      FALSE
## Terminal        FALSE      FALSE
## S.F.Ratio       FALSE      FALSE
## perc.alumni     FALSE      FALSE
## Expend          FALSE      FALSE
## Grad.Rate       FALSE      FALSE
## (Intercept)     FALSE      FALSE
## 1 subsets of each size up to 17
## Selection Algorithm: forward
##           (Intercept) PrivateYes Apps Accept Enroll Top10perc Top25perc
## 1  ( 1 )  " "         " "        " "  " "    " "    " "       " "      
## 2  ( 1 )  " "         " "        " "  " "    " "    " "       " "      
## 3  ( 1 )  " "         " "        " "  " "    " "    " "       " "      
## 4  ( 1 )  " "         "*"        " "  " "    " "    " "       " "      
## 5  ( 1 )  " "         "*"        " "  " "    " "    " "       " "      
## 6  ( 1 )  " "         "*"        " "  " "    " "    " "       " "      
## 7  ( 1 )  " "         "*"        " "  " "    " "    " "       " "      
## 8  ( 1 )  " "         "*"        " "  " "    " "    " "       " "      
## 9  ( 1 )  " "         "*"        " "  "*"    " "    " "       " "      
## 10  ( 1 ) " "         "*"        " "  "*"    " "    " "       " "      
## 11  ( 1 ) " "         "*"        "*"  "*"    " "    " "       " "      
## 12  ( 1 ) " "         "*"        "*"  "*"    " "    "*"       " "      
## 13  ( 1 ) " "         "*"        "*"  "*"    " "    "*"       " "      
## 14  ( 1 ) " "         "*"        "*"  "*"    " "    "*"       " "      
## 15  ( 1 ) " "         "*"        "*"  "*"    "*"    "*"       " "      
## 16  ( 1 ) " "         "*"        "*"  "*"    "*"    "*"       "*"      
## 17  ( 1 ) " "         "*"        "*"  "*"    "*"    "*"       "*"      
##           F.Undergrad P.Undergrad Room.Board Books Personal PhD Terminal
## 1  ( 1 )  " "         " "         "*"        " "   " "      " " " "     
## 2  ( 1 )  " "         " "         "*"        " "   " "      " " " "     
## 3  ( 1 )  " "         " "         "*"        " "   " "      " " " "     
## 4  ( 1 )  " "         " "         "*"        " "   " "      " " " "     
## 5  ( 1 )  " "         " "         "*"        " "   " "      " " "*"     
## 6  ( 1 )  " "         " "         "*"        " "   " "      " " "*"     
## 7  ( 1 )  " "         " "         "*"        " "   "*"      " " "*"     
## 8  ( 1 )  " "         " "         "*"        " "   "*"      " " "*"     
## 9  ( 1 )  " "         " "         "*"        " "   "*"      " " "*"     
## 10  ( 1 ) "*"         " "         "*"        " "   "*"      " " "*"     
## 11  ( 1 ) "*"         " "         "*"        " "   "*"      " " "*"     
## 12  ( 1 ) "*"         " "         "*"        " "   "*"      " " "*"     
## 13  ( 1 ) "*"         " "         "*"        " "   "*"      "*" "*"     
## 14  ( 1 ) "*"         "*"         "*"        " "   "*"      "*" "*"     
## 15  ( 1 ) "*"         "*"         "*"        " "   "*"      "*" "*"     
## 16  ( 1 ) "*"         "*"         "*"        " "   "*"      "*" "*"     
## 17  ( 1 ) "*"         "*"         "*"        "*"   "*"      "*" "*"     
##           S.F.Ratio perc.alumni Expend Grad.Rate
## 1  ( 1 )  " "       " "         " "    " "      
## 2  ( 1 )  " "       "*"         " "    " "      
## 3  ( 1 )  " "       "*"         "*"    " "      
## 4  ( 1 )  " "       "*"         "*"    " "      
## 5  ( 1 )  " "       "*"         "*"    " "      
## 6  ( 1 )  " "       "*"         "*"    "*"      
## 7  ( 1 )  " "       "*"         "*"    "*"      
## 8  ( 1 )  "*"       "*"         "*"    "*"      
## 9  ( 1 )  "*"       "*"         "*"    "*"      
## 10  ( 1 ) "*"       "*"         "*"    "*"      
## 11  ( 1 ) "*"       "*"         "*"    "*"      
## 12  ( 1 ) "*"       "*"         "*"    "*"      
## 13  ( 1 ) "*"       "*"         "*"    "*"      
## 14  ( 1 ) "*"       "*"         "*"    "*"      
## 15  ( 1 ) "*"       "*"         "*"    "*"      
## 16  ( 1 ) "*"       "*"         "*"    "*"      
## 17  ( 1 ) "*"       "*"         "*"    "*"
par(mfrow=c(2,2))
plot(fwd.summary$adjr2, pch=19, main="Adjusted R2", xlab="Number of Variables Used", ylab="Adjusted R2 Values")
plot(fwd.summary$bic, pch=19, main="BIC", xlab="Number of Variables Used", ylab="BIC")
RMSE=sqrt(fwd.summary$rss/nrow(College.train))
plot(RMSE, pch=19, main="RMSE", xlab="Number of Variables Used", ylab ="RMSE")
plot(fwd.summary$cp, pch=19, main="CP", xlab="Number of Variables Used", ylab="Cp")

BIC.min = which.min(fwd.summary$bic)
RMSE.min = which.min(RMSE)
AdjR2.max = which.max(fwd.summary$adjr2)
Cp.min = which.min(fwd.summary$cp)

BIC.min
## [1] 12
RMSE.min
## [1] 17
AdjR2.max
## [1] 12
Cp.min
## [1] 12

Most of the measures for Model Fitness shows that 12 Variables should be used based on Forward Selection as 12 variables produces the lowest BIC and Cp but highest AdjR2. The variables to be included in the Forward Stepwise Model are: perc.alumni, Expend, Grad.Rate, Terminal, S.F.Ratio, Personal, F.Undergrad, Room.Board, PrivateYes, Apps, Accept, and Top10perc.

coef(College.fwd.selection, id = 12)
##   (Intercept)          Apps        Accept        Enroll     Top25perc 
##  1.620107e+03 -3.828618e-01  1.140728e+00 -2.170808e+00  1.862147e+01 
##   P.Undergrad         Books           PhD     S.F.Ratio   perc.alumni 
##  3.738807e-04  1.081745e-01  2.549982e+01 -9.263174e+01  5.889231e+01 
##        Expend     Grad.Rate   (Intercept) 
##  2.879859e-01  5.499454e+01  0.000000e+00
  1. Fit a GAM on the training data, using out-of-state tuition as the response and the features selected in the previous step as the predictors. Plot the results, and explain your findings.

For fitting the GAM Model, I want to first find the most appropriate degrees of freedom to allow. To find the appropriate degrees of freedom, I will utilize K-Folds Cross-Validation.

coefs <- names(coef(College.fwd.selection, id = 12))
coefs <- coefs[-grep('Intercept', coefs)]

College.gam <- train(x = College.train[,coefs], y = College.train$Outstate,
                   method = 'gamSpline',
                   trControl = trainControl(method = 'cv', number = 10),
                   tuneGrid = expand.grid(df = 1:10))
plot(College.gam)

The above plot shows that the optimal Degrees of Freedom chosen by K-Folds Cross-Validation where K = 10 is d = 3.

postResample(predict(College.gam, College.train), College.train$Outstate)
##         RMSE     Rsquared          MAE 
## 1930.8793643    0.7728723 1519.8242102

The GAM Model with d = 3 achieves a Training R-Squared of 0.7728723 or 77.287% which means that 77.287% of the variance in Outstate can be explained by the subset of 12 predictor variables selected by Cross-Validation. Additionally, this GAM Model achieves a RMSE of 1930.8793.

  1. Evaluate the model obtained on the test set, and explain the results obtained.
postResample(predict(College.gam, College.test), College.test$Outstate)
##         RMSE     Rsquared          MAE 
## 2043.0852754    0.7308196 1581.7833109

On the Test Data Set, the GAM achieves a slightly lower R-Squared and higher RMSE. This is okay considering that model will always perform best on the training data.

  1. For which variables, if any, is there evidence of a non-linear relationship with the response?
summary(College.gam)
## 
## Call: (function (formula, family = gaussian, data, weights, subset, 
##     na.action, start = NULL, etastart, mustart, control = gam.control(...), 
##     model = TRUE, method = "glm.fit", x = FALSE, y = TRUE, ...) 
## {
##     call <- match.call()
##     if (is.character(family)) 
##         family <- get(family, mode = "function", envir = parent.frame())
##     if (is.function(family)) 
##         family <- family()
##     if (is.null(family$family)) {
##         print(family)
##         stop("`family' not recognized")
##     }
##     if (missing(data)) 
##         data <- environment(formula)
##     mf <- match.call(expand.dots = FALSE)
##     m <- match(c("formula", "data", "subset", "weights", "etastart", 
##         "mustart", "offset"), names(mf), 0L)
##     mf <- mf[c(1L, m)]
##     mf$na.action = quote(na.pass)
##     mf$drop.unused.levels <- TRUE
##     mf[[1L]] <- quote(stats::model.frame)
##     gam.slist <- gam.smoothers()$slist
##     mt <- if (missing(data)) 
##         terms(formula, gam.slist)
##     else terms(formula, gam.slist, data = data)
##     mf$formula <- mt
##     mf <- eval(mf, parent.frame())
##     if (missing(na.action)) {
##         naa = getOption("na.action", "na.fail")
##         na.action = get(naa)
##     }
##     mf = na.action(mf)
##     mt = attributes(mf)[["terms"]]
##     switch(method, model.frame = return(mf), glm.fit = 1, glm.fit.null = 1, 
##         stop("invalid `method': ", method))
##     Y <- model.response(mf, "any")
##     X <- if (!is.empty.model(mt)) 
##         model.matrix(mt, mf, contrasts)
##     else matrix(, NROW(Y), 0)
##     weights <- model.weights(mf)
##     offset <- model.offset(mf)
##     if (!is.null(weights) && any(weights < 0)) 
##         stop("Negative wts not allowed")
##     if (!is.null(offset) && length(offset) != NROW(Y)) 
##         stop("Number of offsets is ", length(offset), ", should equal ", 
##             NROW(Y), " (number of observations)")
##     mustart <- model.extract(mf, "mustart")
##     etastart <- model.extract(mf, "etastart")
##     fit <- gam.fit(x = X, y = Y, smooth.frame = mf, weights = weights, 
##         start = start, etastart = etastart, mustart = mustart, 
##         offset = offset, family = family, control = control)
##     if (length(offset) && attr(mt, "intercept") > 0) {
##         fit$null.dev <- glm.fit(x = X[, "(Intercept)", drop = FALSE], 
##             y = Y, weights = weights, offset = offset, family = family, 
##             control = control[c("epsilon", "maxit", "trace")], 
##             intercept = TRUE)$deviance
##     }
##     if (model) 
##         fit$model <- mf
##     fit$na.action <- attr(mf, "na.action")
##     if (x) 
##         fit$x <- X
##     if (!y) 
##         fit$y <- NULL
##     fit <- c(fit, list(call = call, formula = formula, terms = mt, 
##         data = data, offset = offset, control = control, method = method, 
##         contrasts = attr(X, "contrasts"), xlevels = .getXlevels(mt, 
##             mf)))
##     class(fit) <- c("Gam", "glm", "lm")
##     if (!is.null(fit$df.residual) && !(fit$df.residual > 0)) 
##         warning("Residual degrees of freedom are negative or zero.  This occurs when the sum of the parametric and nonparametric degrees of freedom exceeds the number of observations.  The model is probably too complex for the amount of data available.")
##     fit
## })(formula = .outcome ~ s(perc.alumni, df = 3) + s(PhD, df = 3) + 
##     s(Grad.Rate, df = 3) + s(Top25perc, df = 3) + s(Books, df = 3) + 
##     s(S.F.Ratio, df = 3) + s(P.Undergrad, df = 3) + s(Enroll, 
##     df = 3) + s(Accept, df = 3) + s(Apps, df = 3) + s(Expend, 
##     df = 3), family = function (link = "identity") 
## {
##     linktemp <- substitute(link)
##     if (!is.character(linktemp)) 
##         linktemp <- deparse(linktemp)
##     okLinks <- c("inverse", "log", "identity")
##     if (linktemp %in% okLinks) 
##         stats <- make.link(linktemp)
##     else if (is.character(link)) {
##         stats <- make.link(link)
##         linktemp <- link
##     }
##     else {
##         if (inherits(link, "link-glm")) {
##             stats <- link
##             if (!is.null(stats$name)) 
##                 linktemp <- stats$name
##         }
##         else {
##             stop(gettextf("link \"%s\" not available for gaussian family; available links are %s", 
##                 linktemp, paste(sQuote(okLinks), collapse = ", ")), 
##                 domain = NA)
##         }
##     }
##     structure(list(family = "gaussian", link = linktemp, linkfun = stats$linkfun, 
##         linkinv = stats$linkinv, variance = function(mu) rep.int(1, 
##             length(mu)), dev.resids = function(y, mu, wt) wt * 
##             ((y - mu)^2), aic = function(y, n, mu, wt, dev) {
##             nobs <- length(y)
##             nobs * (log(dev/nobs * 2 * pi) + 1) + 2 - sum(log(wt))
##         }, mu.eta = stats$mu.eta, initialize = expression({
##             n <- rep.int(1, nobs)
##             if (is.null(etastart) && is.null(start) && is.null(mustart) && 
##                 ((family$link == "inverse" && any(y == 0)) || 
##                   (family$link == "log" && any(y <= 0)))) stop("cannot find valid starting values: please specify some")
##             mustart <- y
##         }), validmu = function(mu) TRUE, valideta = stats$valideta), 
##         class = "family")
## }, data = structure(list(Apps = c(1660, 2186, 1428, 417, 193, 
## 353, 1899, 582, 1732, 2652, 1267, 494, 1420, 4302, 1216, 1130, 
## 3540, 713, 619, 12809, 662, 1879, 761, 948, 627, 602, 1690, 261, 
## 2496, 990, 6075, 807, 632, 1320, 632, 519, 3466, 878, 202, 1646, 
## 805, 500, 6773, 377, 692, 20192, 3356, 9251, 3767, 4186, 367, 
## 1436, 392, 7365, 1465, 6548, 2362, 599, 1011, 563, 7811, 4540, 
## 1784, 848, 2853, 1747, 100, 8728, 1160, 1096, 1616, 3847, 776, 
## 1307, 369, 495, 1283, 4158, 2785, 174, 1013, 959, 342, 81, 880, 
## 883, 1196, 1860, 2887, 2174, 689, 1006, 604, 2848, 4856, 1432, 
## 4772, 798, 938, 444, 983, 546, 141, 672, 2994, 7117, 2100, 9478, 
## 314, 737, 6756, 281, 232, 528, 3035, 440, 2967, 995, 866, 504, 
## 585, 2373, 571, 967, 2762, 1994, 3014, 434, 1998, 793, 604, 1011, 
## 2153, 700, 13789, 9274, 3330, 2172, 5597, 486, 1422, 2417, 245, 
## 3624, 765, 659, 560, 1455, 1339, 1415, 1947, 3306, 291, 1801, 
## 553, 804, 5187, 895, 346, 2161, 2464, 1110, 668, 727, 11115, 
## 7837, 3793, 348, 3596, 633, 674, 440, 548, 5165, 608, 510, 2491, 
## 1202, 3140, 1006, 817, 1006, 467, 1721, 2083, 13865, 1377, 817, 
## 823, 920, 922, 7428, 602, 699, 1712, 608, 600, 607, 894, 8681, 
## 3050, 268, 735, 4892, 8427, 7259, 11223, 472, 605, 2421, 8474, 
## 313, 1005, 5880, 589, 2212, 1456, 355, 361, 2929, 4010, 544, 
## 979, 497, 831, 1166, 1386, 6397, 979, 244, 477, 2774, 1154, 787, 
## 1660, 810, 1561, 3570, 2747, 1641, 2013, 5996, 2397, 4076, 1891, 
## 3579, 1549, 1756, 535, 2939, 740, 874, 1004, 2432, 962, 3073, 
## 824, 4731, 499, 478, 941, 1464, 549, 1107, 6411, 1002, 578, 420, 
## 2286, 1557, 1981, 1584, 1742, 9239, 6011, 610, 905, 1217, 594, 
## 4255, 480, 1310, 601, 2707, 572, 263, 2442, 3708, 586, 882, 1800, 
## 279, 368, 325, 1321, 657, 1310, 2519, 2225, 513, 947, 1879, 787, 
## 13594, 872, 2220, 1563, 4809, 10634, 1127, 2968, 6040, 11901, 
## 5891, 10706, 2729, 616, 12289, 1743, 4778, 2324, 792, 2936, 11023, 
## 2190, 758, 776, 4522, 1496, 910, 2308, 8256, 1603, 940, 943, 
## 944, 3821, 1538, 692, 404, 1133, 809, 875, 1132, 2405, 1082, 
## 13218, 5139, 1025, 3712, 5702, 2088, 1771, 696, 1966, 4996, 3586, 
## 587, 484, 2227, 935, 560, 3304, 1777, 434, 48094, 3366, 2307, 
## 2095, 1046, 920, 833, 3294, 876, 2248, 700, 335, 1680, 9402, 
## 4019, 584, 855, 1183, 4576, 5818, 1003, 1016, 437, 2925, 2807, 
## 818, 2540, 4301, 1093, 6118, 1047, 213, 1244, 283, 3713, 372, 
## 1489, 1368, 2753, 191, 2643, 1340, 1243, 1334, 651, 861, 450, 
## 1557, 1768, 4019, 3646, 13528, 14463, 12512, 7294, 5318, 7888, 
## 4877, 8399, 5549, 3150, 2119, 2096, 462, 257, 4414, 1769, 232, 
## 14474, 4095, 497, 4345, 845, 759, 5042, 3058, 247, 7033, 626, 
## 2267, 3495, 1797, 19873, 15698, 6986, 6348, 6855, 9735, 681, 
## 14446, 2974, 927, 576, 2096, 12445, 11220, 5081, 3580, 14939, 
## 8579, 441, 461, 14292, 14438, 3347, 19152, 4192, 1458, 11054, 
## 3844, 6574, 1618, 452, 1351, 1209, 9750, 1757, 14596, 5191, 6071, 
## 2777, 1800, 4418, 5530, 7700, 4743, 8631, 12394, 1758, 4044, 
## 9643, 5892, 8766, 2306, 285, 848, 7693, 7589, 12229, 2379, 2850, 
## 7473, 3281, 14752, 4217, 974, 2459, 1712, 5095, 7663, 15849, 
## 12749, 1558, 2593, 910, 4400, 14901, 5244, 2029, 663, 1399, 325, 
## 2075, 7791, 7759, 2996, 15712, 1847, 647, 1465, 800, 1416, 5661, 
## 1092, 440, 1231, 1305, 3315, 1209, 6540, 7654, 1373, 1190, 280, 
## 665, 1480, 4772, 6502, 1164, 1566, 3224, 1205, 9167, 1650, 2702, 
## 5548, 3100, 662, 950, 1432, 1738, 903, 1861, 1681, 1121, 2139, 
## 1631, 1658, 469, 167, 3325, 2320, 152, 2768, 2197, 1959, 2097, 
## 10705, 2989), Accept = c(1232, 1924, 1097, 349, 146, 340, 1720, 
## 498, 1425, 1900, 1080, 313, 1093, 992, 908, 704, 2001, 661, 516, 
## 10308, 513, 1658, 725, 798, 556, 483, 1366, 192, 1402, 784, 5349, 
## 707, 494, 923, 620, 327, 2330, 816, 184, 1150, 588, 336, 3028, 
## 358, 514, 13007, 1019, 7333, 3414, 2743, 274, 1228, 351, 5402, 
## 810, 3813, 2037, 494, 604, 247, 3817, 3294, 1512, 587, 2193, 
## 1382, 90, 5201, 991, 951, 1427, 3433, 607, 1090, 312, 434, 1113, 
## 2532, 2011, 146, 888, 771, 254, 72, 520, 766, 697, 767, 2059, 
## 1953, 561, 742, 452, 1319, 2492, 888, 3140, 620, 864, 359, 664, 
## 447, 118, 596, 1691, 3106, 1883, 6312, 158, 614, 1930, 266, 216, 
## 403, 1546, 407, 2836, 789, 619, 482, 508, 956, 461, 945, 2279, 
## 1656, 2539, 412, 1376, 709, 562, 829, 1580, 650, 3893, 6362, 
## 2730, 1493, 4253, 440, 1109, 1843, 208, 2786, 646, 557, 454, 
## 1064, 1107, 714, 1580, 2079, 245, 1655, 452, 632, 4471, 548, 
## 274, 1951, 1908, 930, 534, 693, 2881, 4527, 2341, 281, 2466, 
## 468, 565, 396, 428, 3887, 494, 387, 1110, 1054, 1783, 825, 644, 
## 837, 424, 1068, 1725, 2165, 572, 708, 721, 745, 729, 5860, 498, 
## 565, 1483, 520, 197, 558, 787, 6695, 1342, 253, 423, 3530, 7424, 
## 5526, 5285, 410, 405, 2109, 3446, 228, 859, 4075, 575, 1538, 
## 1053, 300, 321, 1834, 2402, 399, 638, 452, 538, 1009, 1060, 4304, 
## 743, 198, 417, 2092, 1050, 562, 1091, 484, 1188, 2215, 1870, 
## 1283, 1053, 4993, 2144, 3137, 1698, 2959, 1392, 1500, 502, 1496, 
## 558, 758, 802, 1730, 750, 2672, 670, 3171, 441, 327, 772, 888, 
## 397, 859, 2140, 555, 411, 293, 1668, 1074, 1541, 1456, 1382, 
## 7788, 3075, 461, 834, 1088, 385, 3277, 405, 983, 503, 1881, 544, 
## 223, 2164, 1678, 533, 730, 1314, 276, 317, 284, 1159, 537, 1086, 
## 1836, 1910, 347, 798, 1216, 601, 7244, 722, 1796, 1005, 3089, 
## 7064, 884, 2297, 4577, 8492, 4931, 7219, 2535, 514, 5200, 1625, 
## 2767, 1319, 649, 2342, 8298, 1700, 681, 765, 3913, 1205, 773, 
## 1336, 3750, 1392, 668, 849, 774, 2037, 1259, 576, 400, 630, 687, 
## 744, 847, 2234, 832, 2042, 3346, 707, 2153, 4894, 957, 1325, 
## 616, 1436, 4165, 2424, 501, 386, 1790, 858, 392, 2804, 1151, 
## 321, 26330, 1752, 1896, 1553, 824, 684, 682, 2855, 802, 1673, 
## 595, 284, 1395, 7020, 2779, 413, 632, 1016, 3565, 3281, 782, 
## 872, 400, 1598, 2589, 700, 2195, 3455, 1093, 5254, 938, 155, 
## 912, 201, 1237, 362, 1313, 1064, 1820, 165, 1611, 695, 1020, 
## 1243, 581, 609, 405, 1227, 1249, 1579, 2300, 9198, 6166, 6969, 
## 3564, 3515, 3519, 2798, 3609, 3583, 2289, 1264, 1512, 402, 183, 
## 1500, 1092, 182, 10519, 3079, 423, 3245, 734, 729, 2312, 1798, 
## 189, 5125, 372, 1827, 1712, 1260, 8252, 10775, 2959, 2999, 5553, 
## 7187, 588, 10516, 2001, 731, 558, 1626, 8836, 7871, 4040, 2603, 
## 11652, 5561, 369, 381, 10315, 12414, 2597, 12940, 3126, 874, 
## 6397, 3383, 4637, 1141, 331, 892, 750, 7640, 979, 5985, 4134, 
## 3856, 2249, 1253, 2737, 4007, 3700, 3970, 6732, 5232, 1485, 2826, 
## 7751, 2718, 5498, 1721, 280, 560, 5815, 4676, 8498, 2133, 2044, 
## 5372, 2559, 9572, 3100, 704, 1997, 1557, 4491, 6008, 5384, 7025, 
## 1254, 1966, 910, 3719, 10932, 3782, 1516, 452, 1026, 260, 1727, 
## 4690, 5588, 2440, 11719, 1610, 518, 1006, 623, 1015, 2392, 890, 
## 311, 1074, 1100, 1096, 942, 5839, 5259, 1373, 978, 143, 462, 
## 1257, 1973, 3539, 1062, 1400, 2519, 984, 7191, 1471, 1623, 3563, 
## 2150, 553, 713, 920, 1373, 755, 998, 1069, 926, 1492, 1431, 1327, 
## 435, 130, 2047, 1805, 128, 2314, 1515, 1805, 1915, 2453, 1855
## ), Enroll = c(721, 512, 336, 137, 55, 103, 489, 172, 472, 484, 
## 385, 157, 220, 418, 423, 322, 1016, 252, 219, 3761, 257, 497, 
## 306, 295, 172, 206, 662, 111, 531, 279, 2367, 308, 129, 284, 
## 222, 114, 640, 200, 122, 542, 287, 156, 1025, 181, 209, 3810, 
## 418, 3076, 1061, 740, 158, 1202, 155, 4615, 313, 862, 700, 224, 
## 213, 247, 1650, 1483, 913, 298, 753, 449, 35, 1191, 352, 464, 
## 434, 527, 198, 616, 90, 210, 401, 902, 1007, 88, 288, 351, 126, 
## 51, 224, 428, 499, 227, 457, 557, 250, 275, 295, 456, 727, 317, 
## 1265, 238, 511, 122, 249, 189, 55, 278, 659, 1217, 553, 2194, 
## 132, 242, 871, 139, 106, 186, 438, 149, 876, 398, 157, 185, 153, 
## 452, 174, 459, 533, 495, 487, 319, 651, 244, 328, 410, 321, 314, 
## 1583, 2435, 1303, 564, 1565, 227, 366, 426, 125, 858, 226, 167, 
## 113, 452, 336, 338, 523, 1071, 126, 819, 228, 281, 446, 314, 
## 146, 685, 678, 332, 237, 286, 1390, 2276, 1238, 127, 575, 284, 
## 282, 221, 167, 1561, 176, 194, 573, 326, 454, 328, 307, 317, 
## 350, 806, 430, 1606, 178, 262, 274, 347, 244, 1349, 215, 176, 
## 624, 127, 124, 269, 262, 2408, 471, 103, 366, 913, 3441, 1368, 
## 2082, 262, 284, 820, 911, 137, 298, 2833, 148, 408, 381, 142, 
## 185, 622, 572, 177, 271, 231, 224, 510, 320, 1092, 259, 82, 204, 
## 482, 395, 363, 326, 356, 458, 651, 724, 527, 212, 3079, 1525, 
## 738, 719, 868, 587, 366, 223, 452, 177, 428, 239, 563, 212, 1547, 
## 337, 830, 199, 117, 214, 176, 169, 323, 1078, 119, 187, 93, 564, 
## 397, 514, 891, 607, 3290, 960, 189, 319, 496, 307, 1609, 380, 
## 316, 204, 478, 320, 103, 1189, 722, 239, 330, 526, 126, 159, 
## 95, 328, 113, 458, 462, 1190, 279, 266, 483, 233, 2505, 154, 
## 467, 240, 1429, 3176, 308, 1610, 1620, 2517, 1973, 2397, 1257, 
## 385, 1902, 626, 678, 370, 186, 669, 3183, 458, 484, 351, 2181, 
## 428, 450, 295, 1522, 504, 385, 288, 440, 680, 468, 174, 169, 
## 220, 428, 207, 302, 1061, 302, 1153, 973, 297, 806, 1742, 362, 
## 306, 169, 327, 936, 730, 211, 141, 437, 345, 270, 679, 382, 141, 
## 4520, 232, 509, 514, 284, 225, 217, 956, 367, 745, 278, 132, 
## 691, 2151, 888, 131, 139, 411, 1000, 1116, 295, 300, 211, 632, 
## 1701, 447, 994, 1166, 642, 3204, 511, 75, 352, 97, 443, 181, 
## 375, 354, 505, 63, 465, 285, 414, 568, 243, 215, 194, 489, 380, 
## 710, 585, 1843, 1757, 1724, 904, 1025, 1036, 814, 656, 853, 650, 
## 390, 465, 146, 109, 335, 437, 99, 6392, 1195, 215, 2604, 254, 
## 244, 944, 478, 100, 1223, 145, 611, 528, 938, 3215, 2478, 1918, 
## 922, 2408, 2064, 246, 3252, 580, 415, 137, 694, 3623, 3320, 1194, 
## 1627, 5705, 3681, 172, 235, 3409, 3816, 1006, 4893, 1656, 588, 
## 3524, 1669, 2940, 479, 269, 570, 265, 2529, 394, 3331, 1500, 
## 1449, 1652, 560, 2049, 1697, 1906, 2233, 2546, 2464, 419, 688, 
## 1968, 756, 1243, 538, 208, 377, 2328, 1876, 2477, 1292, 1046, 
## 3013, 1448, 5329, 1686, 290, 582, 696, 2400, 1735, 2678, 3343, 
## 472, 1030, 342, 1472, 4631, 1930, 1073, 192, 308, 86, 520, 1499, 
## 1477, 704, 4277, 453, 271, 188, 256, 417, 903, 477, 112, 345, 
## 334, 425, 214, 2440, 1254, 724, 324, 79, 226, 452, 712, 1372, 
## 478, 483, 1057, 278, 2738, 409, 604, 1549, 825, 184, 351, 548, 
## 417, 213, 359, 344, 372, 502, 434, 395, 227, 46, 1301, 769, 75, 
## 682, 543, 695, 695, 1317, 691), Top25perc = c(52, 29, 50, 89, 
## 44, 45, 68, 44, 75, 77, 73, 46, 22, 96, 40, 23, 54, 44, 51, 49, 
## 30, 69, 58, 74, 40, 47, 61, 36, 95, 45, 66, 63, 36, 54, 24, 53, 
## 60, 41, 42, 30, 88, 55, 55, 30, 50, 80, 100, 45, 58, 77, 41, 
## 26, 44, 82, 95, 85, 68, 28, 42, 52, 73, 60, 56, 55, 34, 66, 52, 
## 89, 55, 62, 43, 35, 58, 55, 46, 55, 65, 24, 65, 29, 82, 48, 64, 
## 71, 42, 37, 47, 93, 61, 68, 30, 60, 47, 84, 75, 58, 55, 41, 62, 
## 53, 57, 42, 21, 60, 95, 88, 65, 65, 28, 67, 96, 29, 34, 56, 93, 
## 70, 60, 47, 47, 36, 30, 96, 26, 48, 60, 80, 68, 30, 88, 47, 50, 
## 33, 84, 66, 98, 44, 36, 50, 38, 48, 65, 70, 46, 39, 60, 74, 56, 
## 16, 36, 52, 74, 89, 49, 38, 49, 72, 14, 54, 87, 82, 57, 36, 39, 
## 55, 93, 99, 24, 52, 78, 27, 54, 51, 46, 60, 31, 46, 88, 44, 82, 
## 73, 40, 65, 40, 75, 49, 100, 100, 52, 87, 66, 66, 63, 58, 64, 
## 69, 47, 9, 47, 63, 35, 86, 44, 48, 33, 59, 52, 72, 41, 53, 57, 
## 94, 30, 55, 55, 40, 75, 45, 65, 41, 56, 59, 35, 70, 47, 35, 33, 
## 56, 84, 46, 33, 54, 64, 31, 55, 41, 33, 72, 41, 47, 39, 61, 57, 
## 45, 54, 80, 55, 72, 21, 20, 86, 29, 46, 63, 63, 54, 29, 41, 31, 
## 52, 34, 30, 52, 51, 51, 99, 43, 50, 32, 70, 40, 36, 18, 64, 39, 
## 60, 52, 61, 69, 57, 57, 46, 35, 57, 34, 72, 24, 37, 66, 36, 13, 
## 79, 37, 49, 33, 36, 90, 61, 61, 55, 48, 68, 62, 73, 86, 36, 99, 
## 19, 33, 78, 64, 47, 72, 42, 48, 37, 29, 52, 98, 29, 89, 81, 87, 
## 62, 54, 65, 59, 44, 57, 57, 73, 46, 70, 68, 48, 71, 34, 96, 42, 
## 50, 48, 73, 43, 38, 89, 22, 63, 98, 55, 66, 45, 37, 29, 46, 66, 
## 80, 82, 31, 52, 28, 54, 50, 31, 20, 55, 53, 79, 79, 51, 40, 45, 
## 42, 33, 67, 35, 73, 35, 69, 76, 70, 73, 51, 83, 82, 36, 53, 53, 
## 57, 35, 88, 37, 50, 40, 69, 32, 37, 33, 66, 77, 45, 83, 32, 45, 
## 51, 56, 25, 80, 73, 60, 56, 17, 27, 34, 69, 93, 65, 69, 61, 94, 
## 66, 34, 29, 40, 48, 53, 40, 51, 33, 59, 68, 41, 60, 80, 29, 85, 
## 64, 57, 85, 21, 81, 94, 84, 49, 75, 34, 59, 84, 35, 100, 100, 
## 60, 94, 57, 63, 74, 57, 60, 50, 39, 67, 85, 79, 26, 69, 88, 50, 
## 45, 40, 53, 39, 37, 92, 45, 86, 55, 47, 62, 54, 54, 78, 54, 62, 
## 74, 92, 44, 67, 54, 85, 51, 37, 96, 63, 61, 100, 58, 83, 40, 
## 72, 75, 48, 43, 24, 66, 63, 71, 25, 50, 53, 43, 85, 46, 22, 66, 
## 68, 53, 51, 95, 81, 57, 32, 53, 38, 80, 37, 46, 35, 77, 47, 81, 
## 92, 68, 30, 53, 59, 43, 30, 76, 44, 88, 92, 49, 66, 64, 93, 60, 
## 70, 93, 21, 30, 27, 44, 25, 86, 51, 25, 55, 31, 50, 53, 21, 24, 
## 71, 20, 43, 72, 84, 55, 49, 77, 63, 70, 64, 36, 80, 39, 50, 45, 
## 61, 41, 86, 26, 47, 61, 99, 63), P.Undergrad = c(537, 1227, 99, 
## 63, 869, 230, 32, 78, 110, 44, 28, 1235, 287, 5, 281, 326, 1512, 
## 23, 767, 7585, 726, 38, 300, 15, 538, 466, 1460, 266, 69, 3144, 
## 484, 605, 131, 81, 501, 2, 1533, 62, 101, 82, 207, 27, 946, 129, 
## 81, 3113, 8, 1213, 643, 62, 479, 822, 430, 1253, 16, 31, 148, 
## 446, 868, 432, 1404, 1254, 136, 184, 434, 960, 331, 291, 737, 
## 239, 580, 12, 764, 82, 526, 44, 40, 3881, 898, 33, 7, 209, 232, 
## 3, 364, 1749, 13, 1, 296, 53, 422, 205, 222, 35, 25, 493, 1200, 
## 1232, 103, 968, 894, 683, 173, 275, 22, 134, 1, 1829, 5346, 237, 
## 55, 181, 172, 145, 232, 80, 644, 122, 336, 84, 536, 6, 283, 538, 
## 14, 36, 62, 237, 45, 411, 56, 2458, 87, 48, 53, 1687, 2640, 1531, 
## 845, 59, 23, 299, 436, 334, 32, 35, 16, 617, 82, 44, 233, 9310, 
## 337, 436, 242, 68, 1197, 50, 63, 175, 691, 374, 258, 48, 406, 
## 654, 9054, 785, 46, 963, 39, 166, 113, 2619, 314, 53, 35, 299, 
## 24, 102, 1, 15, 334, 213, 67, 320, 5, 37, 6, 42, 275, 1350, 74, 
## 399, 208, 126, 69, 519, 28, 1823, 23, 1305, 707, 1446, 1715, 
## 166, 742, 71, 99, 392, 1569, 67, 43, 2246, 258, 1, 541, 44, 819, 
## 1662, 226, 363, 20, 1957, 325, 341, 502, 132, 166, 336, 77, 59, 
## 1423, 605, 33, 191, 840, 325, 118, 170, 158, 3757, 1822, 184, 
## 761, 3417, 85, 280, 150, 113, 63, 246, 51, 254, 150, 1792, 653, 
## 658, 377, 370, 776, 128, 1751, 402, 28, 684, 477, 80, 1260, 433, 
## 1084, 911, 53, 807, 1532, 49, 179, 884, 721, 1621, 1014, 175, 
## 11, 847, 416, 20, 1075, 153, 228, 12, 40, 435, 542, 88, 79, 466, 
## 144, 352, 955, 505, 471, 1646, 411, 2814, 36, 334, 136, 871, 
## 5481, 766, 1128, 266, 10221, 2682, 1979, 472, 60, 45, 382, 120, 
## 35, 377, 66, 1310, 48, 705, 228, 1658, 936, 61, 942, 4379, 302, 
## 139, 35, 529, 625, 1042, 83, 100, 30, 217, 1402, 214, 448, 30, 
## 146, 1358, 72, 714, 472, 1938, 27, 56, 61, 16, 1309, 28, 1196, 
## 239, 754, 118, 1489, 1052, 269, 3712, 1300, 1889, 94, 451, 222, 
## 2196, 1140, 118, 105, 182, 216, 402, 5550, 128, 99, 7, 704, 1530, 
## 300, 160, 602, 271, 95, 1103, 651, 2550, 387, 967, 3374, 546, 
## 147, 43, 263, 107, 353, 131, 677, 45, 574, 248, 209, 418, 95, 
## 34, 815, 388, 81, 11, 765, 926, 1231, 671, 1351, 1363, 2091, 
## 346, 298, 1478, 475, 234, 1441, 166, 41, 38, 119, 81, 237, 2798, 
## 660, 429, 3101, 351, 51, 902, 244, 639, 1534, 40, 144, 123, 4698, 
## 2061, 864, 7152, 39, 2011, 1660, 73, 4522, 554, 2217, 131, 407, 
## 3286, 2748, 1415, 2411, 911, 1673, 317, 503, 3991, 1940, 1630, 
## 1339, 1254, 154, 21836, 804, 1583, 4552, 301, 331, 159, 1338, 
## 1078, 1100, 1847, 1145, 1435, 3588, 5134, 1498, 30, 2582, 1605, 
## 531, 174, 138, 2456, 594, 438, 549, 473, 1412, 3661, 10962, 1429, 
## 2973, 1387, 3237, 8431, 5189, 5457, 39, 299, 433, 8374, 1674, 
## 114, 4582, 2477, 579, 417, 1552, 2200, 7443, 1488, 1160, 17, 
## 717, 198, 90, 1292, 338, 604, 67, 387, 20, 5, 117, 172, 497, 
## 7, 105, 151, 3, 46, 1344, 1274, 474, 61, 110, 1550, 572, 27, 
## 1904, 227, 170, 706, 98, 4278, 1116, 146, 506, 941, 37, 9, 56, 
## 30, 305, 46, 30, 160, 2171, 603, 159, 120, 676, 872, 670, 22, 
## 86, 2029, 1107, 166, 83, 1726), Books = c(450, 750, 400, 450, 
## 800, 500, 450, 660, 500, 400, 400, 650, 450, 660, 550, 900, 500, 
## 400, 350, 700, 540, 540, 600, 400, 750, 400, 1000, 500, 600, 
## 600, 600, 750, 300, 355, 350, 600, 630, 550, 500, 650, 400, 500, 
## 500, 450, 400, 475, 1495, 600, 2000, 410, 500, 500, 600, 860, 
## 500, 800, 500, 300, 425, 612, 612, 600, 400, 600, 400, 500, 300, 
## 450, 480, 400, 500, 600, 500, 570, 500, 600, 650, 500, 654, 600, 
## 600, 600, 700, 400, 600, 525, 500, 500, 500, 700, 600, 500, 400, 
## 500, 500, 550, 666, 400, 500, 380, 800, 600, 450, 450, 400, 600, 
## 500, 470, 400, 500, 550, 450, 450, 400, 600, 500, 650, 400, 680, 
## 450, 500, 600, 400, 500, 500, 550, 595, 600, 500, 400, 450, 450, 
## 520, 500, 625, 500, 600, 650, 120, 600, 600, 500, 450, 490, 700, 
## 475, 330, 350, 500, 500, 750, 800, 350, 400, 600, 525, 500, 600, 
## 630, 600, 500, 500, 500, 550, 670, 795, 720, 500, 500, 531, 400, 
## 600, 300, 500, 550, 400, 525, 450, 300, 450, 660, 500, 700, 700, 
## 500, 500, 700, 500, 500, 400, 400, 1000, 500, 450, 465, 500, 
## 600, 650, 600, 537, 400, 500, 700, 570, 640, 634, 500, 400, 400, 
## 600, 500, 500, 450, 600, 500, 750, 400, 600, 600, 450, 600, 750, 
## 920, 500, 600, 528, 400, 750, 400, 550, 600, 450, 500, 600, 350, 
## 1000, 500, 225, 550, 500, 500, 600, 618, 600, 600, 700, 600, 
## 450, 500, 500, 550, 450, 525, 500, 450, 450, 500, 550, 600, 575, 
## 500, 500, 425, 600, 725, 500, 400, 600, 400, 425, 375, 540, 475, 
## 500, 450, 550, 550, 1000, 600, 480, 600, 400, 400, 530, 550, 
## 500, 600, 250, 500, 850, 750, 500, 500, 500, 550, 630, 400, 600, 
## 700, 650, 550, 700, 600, 450, 500, 450, 500, 600, 600, 450, 600, 
## 400, 600, 620, 470, 250, 450, 759, 500, 575, 558, 600, 600, 550, 
## 550, 515, 500, 800, 420, 500, 616, 660, 600, 630, 450, 550, 500, 
## 600, 600, 500, 650, 800, 400, 436, 598, 554, 675, 450, 450, 1000, 
## 500, 600, 400, 370, 500, 1230, 700, 350, 600, 450, 500, 600, 
## 500, 955, 550, 690, 690, 400, 450, 400, 600, 500, 800, 400, 550, 
## 500, 500, 569, 612, 630, 500, 600, 600, 650, 450, 500, 550, 500, 
## 500, 500, 450, 221, 576, 400, 500, 600, 550, 600, 600, 660, 385, 
## 500, 400, 650, 300, 630, 675, 700, 425, 600, 500, 450, 600, 450, 
## 711, 480, 700, 700, 600, 500, 550, 630, 620, 550, 600, 500, 1125, 
## 400, 500, 400, 1000, 450, 400, 600, 650, 490, 600, 600, 500, 
## 700, 500, 500, 350, 450, 600, 450, 750, 636, 790, 700, 500, 556, 
## 700, 500, 530, 400, 600, 400, 700, 630, 525, 500, 687, 500, 700, 
## 600, 400, 550, 500, 500, 476, 753, 600, 714, 600, 600, 500, 550, 
## 300, 900, 650, 600, 550, 600, 500, 450, 600, 450, 540, 600, 765, 
## 570, 500, 600, 630, 500, 700, 500, 750, 600, 500, 495, 500, 600, 
## 500, 500, 750, 500, 650, 452, 1300, 646, 1200, 858, 500, 500, 
## 708, 541, 376, 550, 300, 535, 570, 600, 500, 500, 450, 500, 630, 
## 400, 500, 740, 500, 500, 500, 500, 585, 500, 500, 400, 400, 300, 
## 680, 500, 800, 768, 540, 500, 650, 500, 850, 1400, 400, 600, 
## 450, 110, 500, 500, 498, 500, 639, 500, 600, 490, 530, 700, 600, 
## 750, 500, 678, 500, 550, 400, 550, 450, 300, 580, 500, 530, 500, 
## 600, 617, 630, 500), PhD = c(70, 29, 53, 92, 76, 90, 89, 40, 
## 82, 73, 79, 36, 78, 93, 48, 62, 60, 69, 55, 88, 65, 78, 66, 81, 
## 59, 58, 68, 57, 83, 76, 71, 74, 78, 87, 64, 35, 87, 62, 61, 48, 
## 74, 76, 66, 61, 76, 80, 93, 81, 75, 90, 71, 62, 39, 76, 100, 
## 95, 77, 59, 87, 72, 72, 90, 75, 62, 90, 64, 10, 86, 74, 61, 74, 
## 22, 58, 50, 41, 86, 76, 69, 67, 62, 95, 72, 71, 92, 81, 80, 69, 
## 99, 94, 95, 67, 73, 64, 83, 95, 56, 73, 46, 70, 68, 66, 40, 53, 
## 54, 92, 89, 84, 87, 87, 61, 97, 69, 67, 56, 86, 63, 85, 42, 68, 
## 46, 61, 95, 58, 49, 88, 78, 87, 50, 52, 67, 61, 77, 93, 82, 95, 
## 74, 73, 71, 62, 46, 82, 65, 71, 70, 79, 76, 62, 75, 53, 52, 90, 
## 81, 45, 76, 57, 54, 50, 68, 59, 92, 47, 65, 67, 73, 91, 92, 87, 
## 56, 94, 25, 73, 51, 53, 64, 64, 57, 65, 78, 91, 89, 95, 84, 75, 
## 71, 75, 97, 100, 57, 82, 80, 75, 81, 78, 82, 72, 63, 31, 81, 
## 75, 77, 77, 56, 49, 66, 81, 58, 77, 51, 68, 89, 96, 34, 97, 76, 
## 63, 95, 66, 65, 57, 90, 93, 77, 91, 49, 61, 67, 84, 96, 88, 71, 
## 58, 97, 36, 67, 71, 65, 89, 47, 74, 61, 64, 83, 66, 86, 77, 94, 
## 73, 62, 48, 85, 49, 42, 63, 92, 97, 57, 37, 74, 66, 71, 77, 80, 
## 52, 65, 99, 70, 57, 54, 93, 45, 73, 48, 68, 81, 72, 63, 82, 35, 
## 77, 77, 49, 35, 91, 70, 71, 42, 76, 71, 48, 53, 79, 45, 44, 32, 
## 77, 53, 85, 76, 72, 62, 77, 92, 99, 87, 57, 68, 65, 72, 92, 73, 
## 79, 69, 73, 78, 73, 62, 59, 96, 71, 77, 91, 91, 73, 79, 93, 63, 
## 58, 84, 62, 63, 56, 90, 78, 48, 76, 77, 95, 48, 58, 48, 100, 
## 71, 45, 90, 55, 80, 91, 66, 69, 63, 73, 74, 77, 88, 90, 94, 84, 
## 87, 59, 85, 60, 56, 44, 81, 79, 90, 90, 71, 70, 64, 55, 53, 84, 
## 68, 82, 62, 68, 74, 87, 88, 51, 95, 83, 81, 80, 74, 66, 73, 85, 
## 62, 55, 76, 74, 52, 70, 58, 56, 83, 50, 73, 48, 91, 86, 90, 43, 
## 88, 84, 82, 74, 45, 69, 46, 85, 89, 78, 79, 93, 83, 91, 79, 71, 
## 82, 82, 85, 80, 71, 80, 83, 91, 55, 56, 60, 59, 89, 81, 54, 65, 
## 59, 81, 81, 91, 89, 98, 70, 70, 94, 96, 93, 96, 80, 99, 89, 89, 
## 85, 82, 84, 72, 85, 60, 88, 88, 61, 85, 87, 88, 46, 67, 89, 88, 
## 74, 90, 79, 74, 88, 81, 87, 71, 59, 72, 72, 89, 77, 88, 75, 82, 
## 97, 82, 86, 75, 96, 86, 79, 95, 92, 79, 84, 75, 93, 86, 67, 62, 
## 84, 84, 90, 56, 78, 86, 73, 91, 94, 16, 87, 94, 89, 87, 90, 96, 
## 83, 78, 75, 90, 93, 79, 91, 69, 82, 39, 87, 93, 89, 61, 85, 51, 
## 51, 43, 78, 67, 95, 42, 65, 66, 91, 81, 79, 84, 91, 60, 57, 53, 
## 68, 10, 90, 76, 33, 58, 67, 84, 80, 74, 76, 83, 75, 66, 77, 81, 
## 92, 66, 80, 84, 80, 88, 78, 91, 39, 67, 53, 71, 48, 92, 60, 73, 
## 67, 96, 75), S.F.Ratio = c(18.1, 12.2, 12.9, 7.7, 11.9, 11.5, 
## 13.7, 11.5, 11.3, 9.9, 15.3, 11.1, 14.7, 8.4, 12.1, 11.5, 23.1, 
## 11.3, 12.7, 18.9, 12.8, 12.7, 10.4, 13, 22.4, 11, 17.6, 9.7, 
## 10.3, 12.6, 18.5, 13.1, 13.2, 11.1, 14.1, 10.1, 17.5, 11.6, 8.8, 
## 13.8, 14, 14.3, 18, 17.8, 13.3, 11.9, 11.2, 21.1, 14.4, 9.8, 
## 13.7, 12.6, 13.1, 20.5, 12.3, 14.2, 10.9, 16.5, 13.9, 12.4, 19.8, 
## 21.2, 14.8, 17.7, 14.6, 12.1, 12.1, 9.2, 17.8, 13.6, 15.9, 14.3, 
## 11.7, 15.3, 9.5, 11.3, 13.5, 16.7, 18.1, 15.2, 11.4, 12.8, 8.3, 
## 9.3, 11.1, 21.2, 16.9, 9.6, 10.5, 15.8, 18.1, 12.7, 12.1, 10.2, 
## 10.5, 12.9, 17.2, 11.1, 13.1, 11.4, 14.3, 14, 9.5, 11.6, 11.3, 
## 12.1, 11.1, 19.2, 15.3, 14.7, 5.9, 12.8, 12.1, 12.1, 10.7, 10.2, 
## 6.5, 13, 14.6, 12.6, 22.2, 12, 12.8, 17.1, 11.6, 11.1, 11.2, 
## 16.5, 14.1, 15.1, 12.5, 12.4, 10.2, 13.2, 5, 13.2, 14, 16.9, 
## 16.2, 11.4, 12.8, 12.8, 11.3, 18.9, 13.9, 13.5, 10.6, 15.1, 12.5, 
## 18.1, 10.6, 13.9, 21.5, 19.1, 14.9, 12.5, 17.6, 16.1, 10.5, 13.5, 
## 13.3, 15.2, 20.1, 13.3, 7.2, 19.3, 19, 12.2, 12.1, 27.6, 14.2, 
## 9.9, 15.3, 20.6, 13, 14.3, 18.4, 15.6, 9.6, 13, 13.3, 10.6, 13.7, 
## 17.7, 12.3, 9.9, 8.2, 13, 13.1, 12, 10.6, 13.9, 11.1, 14.4, 12.5, 
## 11.4, 12.9, 11.6, 15.6, 21, 12.9, 11.2, 39.8, 16, 19.2, 11.5, 
## 17.9, 17, 13.3, 14.5, 3.3, 10.6, 12.7, 18.5, 12.4, 11.1, 15.6, 
## 10.7, 14.2, 15.1, 10.5, 12.5, 10.7, 17.2, 16.1, 17, 12.3, 12.5, 
## 12, 27.8, 20.8, 12.3, 14.3, 14.6, 12.6, 24.1, 17.8, 16.1, 18.4, 
## 14.2, 10.5, 15.9, 20, 14.7, 11.7, 6.2, 13.8, 12.4, 12.6, 11.9, 
## 10.8, 17.6, 11.8, 13.6, 11.3, 19, 8.4, 17.6, 6.8, 10.3, 10.6, 
## 11.1, 13.1, 11.8, 10.1, 17.7, 11, 9.8, 9.2, 16.7, 16.8, 28.8, 
## 14.1, 17.6, 16.8, 12, 12.7, 16.7, 16.5, 15.9, 15.8, 17.4, 11.6, 
## 14.2, 16.4, 11.1, 18.1, 17.8, 13, 18.6, 9, 11.7, 11.3, 13.6, 
## 12.8, 11.9, 16.7, 12.8, 20.2, 18.3, 13.6, 13.5, 13.7, 7.8, 11.4, 
## 14.2, 14.2, 16.7, 17.5, 16.4, 17, 15.7, 12.9, 21.7, 17.3, 21.7, 
## 14.8, 6.8, 13.1, 10.1, 10.5, 13.1, 14.5, 20.4, 12.1, 15.1, 16.2, 
## 15.3, 13.9, 13.3, 14.9, 13.8, 11, 12.3, 10.9, 15, 11.6, 12.9, 
## 11.6, 13.4, 10.4, 16.1, 14.5, 10.4, 19.4, 13.4, 8.4, 18.4, 16.3, 
## 12, 19.6, 17.8, 10.7, 9.2, 11.8, 15.4, 12.3, 9.4, 12.2, 13, 10.7, 
## 11.3, 16.4, 13.3, 12.9, 19.5, 18.6, 14.8, 14.5, 19.3, 14.8, 27.2, 
## 4.6, 18.8, 10, 12.3, 11.2, 14.7, 19.5, 13.9, 11.8, 8.2, 16.8, 
## 14.4, 18.8, 8.9, 15.8, 14.8, 10.3, 15, 19.6, 16.5, 13.5, 15.9, 
## 19.9, 16.5, 11.8, 11.3, 10.6, 12.5, 15.4, 17.7, 14.5, 11.5, 14.5, 
## 16.1, 11.6, 16.2, 15.1, 14, 16.1, 10.9, 12.5, 19, 19.5, 13, 17.4, 
## 18, 10.5, 19, 18.7, 17.8, 16.3, 15.3, 17.9, 15.1, 14.9, 13.9, 
## 6.5, 10, 15.5, 14.2, 8.9, 23.1, 14.8, 13.8, 18.2, 19, 12.1, 14.4, 
## 10.4, 8.3, 9.1, 21.9, 12.2, 11.5, 6.7, 15.8, 16.1, 22.2, 5.3, 
## 10.8, 16, 13.4, 18.3, 15.9, 13.5, 16.5, 15.8, 13.4, 14.7, 10.7, 
## 11.8, 17.4, 13.7, 15.1, 15.2, 18.1, 16.7, 15, 11.5, 19, 14.6, 
## 12.2, 20.3, 12.7, 13.4, 16.6, 18.9, 11.4, 17.5, 13, 8.9, 15.5, 
## 19.1, 15.9, 17.8, 22.6, 21.5, 13.1, 11.5, 19.7, 6.3, 13.2, 15, 
## 16.6, 11.7, 5.9, 13.6, 23.6, 14.8, 16.9, 17, 11.4, 22, 18.7, 
## 16.5, 21, 19.7, 25.3, 7.5, 11.2, 11.5, 12.8, 9.9, 9.5, 9, 23.4, 
## 21, 15.2, 23.1, 11.5, 15.9, 15.1, 17.4, 11.6, 10.5, 14.2, 5.8, 
## 13.4, 16, 13.8, 13.7, 10.7, 22.9, 9.9, 13.2, 4.3, 11.3, 11.4, 
## 12.4, 12.1, 9.6, 11.2, 16.9, 3.9, 20.3, 16.2, 15.1, 20.6, 15.4, 
## 12.1, 15.3, 16.3, 16.4, 14.6, 12.5, 24.7, 15.4, 19.4, 22.7, 15.7, 
## 12.5, 14.9, 12.7, 13.2, 14.1, 10.5, 13.6, 16.9, 12.6, 13.3, 13.3, 
## 12.9, 8.3, 20.2, 12.8, 8.5, 15.2, 21, 13.3, 14.4, 5.8, 18.1), 
##     perc.alumni = c(12, 16, 30, 37, 2, 26, 37, 15, 31, 41, 32, 
##     26, 19, 63, 14, 18, 5, 35, 25, 5, 31, 40, 30, 33, 11, 21, 
##     20, 35, 33, 11, 38, 31, 10, 26, 18, 33, 20, 29, 32, 9, 34, 
##     53, 19, 3, 19, 16, 52, 14, 21, 24, 12, 10, 26, 40, 49, 36, 
##     29, 36, 25, 17, 13, 8, 41, 13, 26, 27, 24, 31, 25, 16, 22, 
##     20, 39, 34, 20, 25, 29, 4, 0, 18, 60, 6, 29, 17, 24, 16, 
##     31, 52, 35, 32, 9, 32, 39, 41, 45, 23, 18, 35, 26, 23, 28, 
##     7, 19, 33, 55, 31, 43, 10, 2, 34, 21, 18, 9, 13, 40, 31, 
##     32, 4, 42, 25, 10, 46, 19, 16, 45, 31, 39, 28, 12, 42, 17, 
##     7, 28, 35, 44, 18, 9, 14, 5, 29, 26, 25, 21, 34, 51, 47, 
##     31, 10, 9, 9, 7, 20, 24, 8, 8, 37, 16, 13, 14, 28, 18, 12, 
##     26, 28, 27, 33, 10, 27, 32, 4, 32, 46, 26, 9, 31, 16, 18, 
##     30, 60, 33, 53, 26, 10, 37, 32, 52, 46, 17, 26, 31, 34, 10, 
##     48, 34, 40, 9, 4, 29, 30, 16, 34, 33, 15, 14, 22, 25, 29, 
##     21, 19, 28, 38, 30, 37, 22, 14, 46, 37, 25, 14, 9, 38, 12, 
##     19, 25, 10, 11, 30, 43, 20, 18, 23, 21, 10, 35, 8, 9, 34, 
##     14, 23, 24, 11, 11, 13, 27, 14, 15, 38, 24, 15, 37, 33, 16, 
##     20, 25, 24, 11, 21, 34, 50, 30, 17, 43, 13, 30, 35, 21, 11, 
##     45, 15, 29, 22, 12, 30, 20, 20, 16, 38, 23, 18, 20, 8, 16, 
##     43, 15, 31, 4, 19, 10, 32, 34, 51, 38, 30, 43, 36, 19, 35, 
##     39, 27, 2, 24, 19, 11, 16, 32, 20, 17, 9, 21, 33, 24, 13, 
##     17, 7, 11, 23, 20, 25, 22, 47, 30, 27, 31, 13, 32, 18, 8, 
##     14, 30, 10, 25, 10, 23, 12, 22, 5, 13, 15, 19, 14, 11, 19, 
##     10, 14, 1, 42, 54, 35, 32, 33, 9, 8, 38, 24, 37, 21, 23, 
##     49, 19, 26, 21, 27, 8, 23, 30, 19, 12, 16, 29, 24, 19, 8, 
##     19, 19, 31, 31, 46, 17, 7, 19, 23, 41, 20, 15, 13, 33, 36, 
##     7, 44, 29, 9, 8, 17, 13, 11, 31, 12, 35, 40, 18, 9, 32, 29, 
##     38, 8, 17, 23, 7, 36, 8, 13, 17, 24, 33, 7, 30, 16, 15, 7, 
##     14, 12, 17, 10, 8, 16, 17, 8, 37, 48, 15, 7, 32, 16, 29, 
##     23, 24, 21, 40, 41, 6, 48, 37, 21, 28, 7, 49, 16, 10, 11, 
##     9, 36, 6, 16, 26, 15, 21, 14, 18, 26, 20, 22, 9, 6, 13, 17, 
##     4, 11, 12, 15, 20, 26, 11, 16, 37, 14, 15, 15, 4, 8, 13, 
##     16, 11, 23, 17, 15, 16, 14, 6, 8, 46, 11, 13, 38, 17, 17, 
##     7, 32, 23, 8, 3, 3, 18, 7, 10, 21, 23, 22, 4, 11, 3, 9, 14, 
##     10, 9, 10, 22, 10, 12, 17, 15, 16, 20, 8, 13, 19, 40, 15, 
##     23, 26, 24, 11, 20, 8, 31, 3, 55, 23, 37, 33, 20, 37, 40, 
##     45, 37, 30, 31, 29, 26, 4, 14, 8, 39, 16, 10, 42, 9, 39, 
##     11, 15, 4, 10, 20, 20, 17, 40, 41, 27, 51, 29, 20, 19, 24, 
##     37, 16, 43, 18, 26, 26, 34, 14, 31, 20, 49, 28), Expend = c(7041, 
##     10527, 8735, 19016, 10922, 8861, 11487, 8991, 10932, 11711, 
##     9305, 8127, 7355, 21424, 7994, 10908, 4010, 42926, 6584, 
##     4602, 7836, 9220, 6871, 11361, 6523, 6136, 8086, 9337, 12580, 
##     9084, 7503, 6668, 7550, 12957, 5922, 16364, 10941, 7718, 
##     8324, 6817, 8649, 8377, 7041, 6259, 9073, 16836, 20447, 6918, 
##     7671, 17150, 5935, 4900, 8355, 7916, 17449, 13675, 9511, 
##     7117, 7922, 8985, 8453, 7268, 7786, 5391, 7972, 9557, 7976, 
##     24386, 7666, 6716, 7364, 7697, 10961, 6897, 9583, 9685, 8444, 
##     4900, 6413, 3365, 13118, 12692, 7729, 10922, 8129, 4639, 
##     7083, 18443, 11951, 11659, 4417, 10141, 8741, 15954, 15494, 
##     8604, 4776, 6889, 8847, 9447, 6084, 8820, 6936, 8996, 12138, 
##     9534, 14140, 7850, 5015, 8693, 30639, 6955, 6875, 7309, 14773, 
##     10965, 22906, 8189, 6898, 8686, 8643, 17581, 7505, 5113, 
##     12423, 11525, 13861, 4525, 7566, 6852, 7325, 11178, 14907, 
##     9303, 27206, 9002, 9825, 5719, 5682, 10188, 15003, 9815, 
##     8952, 6329, 8061, 7527, 9552, 6972, 7967, 3930, 8923, 6722, 
##     4607, 5039, 6336, 11751, 6418, 6078, 8095, 12940, 7711, 5664, 
##     6786, 7508, 19635, 11271, 7762, 7348, 14720, 6081, 9226, 
##     10270, 9798, 5063, 7949, 8222, 4957, 9114, 17761, 10296, 
##     12263, 9248, 7054, 6466, 11625, 37219, 21569, 7335, 8588, 
##     12639, 12165, 10093, 13957, 12434, 9284, 7703, 9249, 8324, 
##     7348, 5569, 9605, 7305, 6562, 8107, 8420, 9812, 5212, 3186, 
##     8118, 7738, 56233, 7840, 12067, 6122, 6535, 14067, 7649, 
##     8954, 7022, 9084, 15365, 9067, 15687, 4054, 5531, 6119, 8196, 
##     14665, 8539, 8694, 6863, 12999, 7701, 5177, 10912, 3480, 
##     8747, 6374, 5553, 7578, 7547, 6741, 4546, 9448, 9456, 13009, 
##     8949, 8832, 7114, 14213, 10642, 4796, 7940, 10062, 11291, 
##     5801, 5352, 8408, 10819, 10502, 8575, 8317, 5925, 9034, 33541, 
##     6652, 6383, 9754, 8995, 7307, 8707, 3871, 7762, 7846, 7832, 
##     8128, 11218, 7140, 6170, 6223, 5704, 4333, 11087, 9492, 6112, 
##     11989, 4795, 8122, 8111, 6990, 18359, 5073, 6695, 6525, 8536, 
##     10613, 7215, 10888, 5972, 7905, 8797, 12529, 9241, 21227, 
##     5788, 7788, 6562, 7090, 9670, 8871, 6310, 6601, 9563, 6157, 
##     6086, 5284, 6261, 26385, 9209, 16593, 16196, 8568, 9979, 
##     8811, 12011, 5511, 6578, 6433, 8802, 6413, 7114, 10059, 9431, 
##     9157, 11216, 6443, 16185, 8028, 8990, 5557, 14820, 7895, 
##     7652, 14329, 5967, 8354, 28320, 8135, 6880, 8847, 4519, 7333, 
##     11080, 16358, 15886, 15605, 11299, 12472, 6744, 9405, 7519, 
##     6422, 7957, 11561, 9264, 10474, 10134, 7120, 6719, 7344, 
##     7360, 4322, 18367, 5081, 12502, 8534, 9599, 9533, 7930, 10872, 
##     8545, 18372, 10368, 10080, 6719, 14086, 7411, 7881, 21199, 
##     5084, 4444, 7498, 12726, 4718, 4632, 6591, 7818, 12995, 6860, 
##     9988, 10938, 9828, 7908, 14980, 9209, 9619, 10357, 7651, 
##     8595, 8426, 6534, 9995, 10307, 12837, 5599, 7495, 9075, 8055, 
##     13705, 6632, 7511, 5563, 6442, 6608, 6174, 6436, 8170, 10554, 
##     18953, 7233, 5970, 8294, 6286, 8471, 9158, 7002, 3605, 5096, 
##     10219, 8504, 18034, 11806, 16920, 4933, 10872, 15411, 16352, 
##     13919, 15934, 6742, 36854, 13889, 10178, 8731, 10650, 11762, 
##     10891, 8767, 7780, 14737, 7881, 10625, 12833, 8559, 9657, 
##     5935, 6408, 9021, 10276, 7462, 14847, 6393, 6716, 16122, 
##     6971, 10145, 6433, 5412, 5883, 9718, 7855, 7011, 15893, 7392, 
##     6005, 9424, 6104, 5657, 6309, 13936, 10244, 8020, 25765, 
##     9060, 11217, 9158, 11984, 26037, 10074, 3864, 5035, 8246, 
##     11020, 17007, 4078, 5917, 8612, 4696, 7837, 4329, 11641, 
##     13706, 11743, 9275, 12646, 13597, 16527, 8488, 6254, 6490, 
##     5559, 11006, 8094, 8745, 3733, 12082, 7164, 9681, 23850, 
##     10458, 5733, 8944, 6757, 8050, 5861, 14904, 9006, 41766, 
##     5738, 9430, 7735, 10162, 15736, 10830, 10912, 45702, 4550, 
##     6563, 4839, 6951, 17858, 16262, 6773, 4249, 8080, 6554, 10026, 
##     5983, 8409, 4599, 7203, 4222, 7925, 8837, 11916, 22704, 7494, 
##     13198, 11778, 8328, 9603, 8543, 10779, 7438, 10291, 5318, 
##     6729, 8960, 10774, 4469, 9189, 8323, 40386, 4509), Grad.Rate = c(60, 
##     56, 54, 59, 15, 63, 73, 52, 73, 76, 68, 55, 69, 100, 59, 
##     46, 34, 48, 65, 48, 58, 71, 69, 71, 48, 65, 85, 71, 91, 72, 
##     72, 84, 52, 69, 58, 55, 82, 48, 56, 58, 72, 51, 75, 53, 58, 
##     72, 96, 67, 85, 84, 49, 18, 58, 33, 89, 93, 83, 71, 55, 60, 
##     59, 61, 81, 49, 64, 83, 52, 74, 79, 67, 62, 118, 74, 64, 
##     24, 66, 67, 49, 51, 58, 74, 47, 73, 58, 63, 48, 21, 87, 79, 
##     77, 46, 67, 75, 91, 93, 96, 51, 100, 72, 78, 64, 80, 76, 
##     72, 95, 93, 69, 59, 37, 76, 99, 45, 42, 75, 91, 75, 85, 63, 
##     46, 54, 72, 94, 56, 58, 81, 82, 87, 46, 61, 60, 87, 42, 83, 
##     67, 97, 58, 42, 50, 76, 82, 59, 81, 86, 63, 82, 67, 53, 24, 
##     22, 69, 57, 66, 62, 43, 83, 60, 51, 62, 54, 82, 65, 29, 74, 
##     55, 95, 70, 34, 76, 83, 36, 66, 72, 64, 57, 39, 60, 100, 
##     65, 91, 65, 69, 64, 38, 73, 73, 100, 100, 52, 63, 79, 79, 
##     60, 72, 72, 72, 44, 21, 75, 52, 54, 83, 69, 34, 66, 65, 75, 
##     98, 54, 75, 89, 90, 56, 80, 54, 68, 88, 87, 65, 52, 84, 92, 
##     75, 77, 57, 60, 51, 85, 91, 66, 58, 56, 69, 61, 53, 45, 100, 
##     81, 63, 62, 70, 59, 37, 45, 80, 53, 65, 77, 70, 51, 77, 59, 
##     55, 64, 79, 70, 68, 59, 69, 90, 77, 55, 51, 61, 66, 94, 52, 
##     32, 48, 91, 78, 80, 59, 89, 85, 71, 64, 58, 67, 61, 53, 63, 
##     27, 56, 54, 74, 15, 60, 83, 56, 60, 84, 44, 64, 21, 80, 72, 
##     81, 83, 52, 71, 61, 72, 34, 71, 83, 65, 57, 44, 62, 76, 42, 
##     76, 46, 41, 56, 54, 58, 92, 63, 83, 79, 67, 83, 64, 75, 50, 
##     45, 48, 87, 65, 37, 62, 83, 69, 42, 48, 66, 68, 39, 61, 73, 
##     54, 66, 62, 35, 85, 99, 96, 80, 86, 62, 47, 74, 68, 68, 70, 
##     70, 64, 81, 72, 79, 68, 61, 90, 81, 77, 57, 82, 97, 69, 67, 
##     85, 67, 78, 83, 88, 60, 61, 41, 100, 52, 73, 66, 64, 72, 
##     79, 70, 48, 90, 67, 53, 43, 72, 71, 56, 51, 52, 67, 89, 65, 
##     49, 78, 66, 85, 40, 78, 63, 72, 88, 45, 67, 59, 73, 79, 64, 
##     97, 74, 80, 57, 49, 42, 53, 66, 53, 65, 59, 46, 90, 61, 53, 
##     46, 98, 36, 69, 64, 50, 10, 39, 70, 81, 91, 96, 74, 52, 65, 
##     88, 33, 78, 66, 46, 90, 54, 71, 63, 75, 67, 51, 45, 77, 66, 
##     63, 66, 54, 81, 57, 64, 35, 63, 68, 56, 87, 53, 51, 45, 53, 
##     58, 48, 52, 51, 64, 75, 37, 83, 53, 55, 49, 47, 35, 40, 97, 
##     44, 54, 93, 72, 63, 63, 100, 80, 62, 43, 48, 63, 47, 68, 
##     38, 45, 53, 29, 65, 50, 57, 65, 47, 37, 79, 95, 65, 53, 65, 
##     36, 67, 72, 38, 45, 78, 79, 68, 95, 83, 96, 31, 73, 30, 73, 
##     58, 72, 75, 89, 68, 63, 67, 86, 90, 65, 56, 90, 52, 63, 90, 
##     48, 64, 92, 52, 60, 67, 55, 60, 55, 59, 52, 61, 65, 62, 87, 
##     85, 71, 72, 72, 52, 80, 63, 67, 68, 52, 67, 58, 59, 50, 82, 
##     40, 83, 49, 99, 99), .outcome = c(7440, 12280, 11250, 12960, 
##     7560, 13290, 13868, 10468, 16548, 17080, 12572, 8352, 8700, 
##     19760, 10100, 9996, 5130, 15476, 11208, 7434, 11902, 13353, 
##     10990, 11280, 9925, 8620, 10995, 9690, 17926, 11290, 6450, 
##     8840, 9000, 16304, 9550, 21700, 13800, 8740, 8540, 5188, 
##     11660, 6500, 7844, 7150, 9900, 18420, 19030, 7452, 10870, 
##     19380, 9592, 4371, 10260, 2340, 18165, 18550, 13130, 10518, 
##     8900, 12950, 7380, 7706, 10230, 6060, 10750, 13050, 8400, 
##     17900, 12200, 8150, 13125, 9384, 14340, 7344, 11400, 8950, 
##     10938, 5962, 7242, 8300, 11850, 16624, 10335, 8730, 9300, 
##     7860, 4412, 17000, 17500, 15960, 7168, 13925, 9888, 18930, 
##     19510, 10860, 6120, 9800, 12247, 10900, 9990, 11138, 8300, 
##     11844, 18000, 11720, 16240, 8412, 8294, 10425, 18624, 10500, 
##     6900, 9216, 18740, 12050, 10628, 6230, 8920, 9130, 12292, 
##     17295, 10850, 4528, 16900, 14300, 18700, 4486, 6700, 9570, 
##     9800, 9000, 18432, 8730, 18590, 7248, 5800, 5962, 5710, 9650, 
##     15360, 14190, 11800, 9100, 8578, 10485, 10955, 6806, 9400, 
##     5120, 13900, 6597, 8390, 5840, 9650, 10390, 13320, 5500, 
##     9900, 13440, 10970, 8180, 9476, 8100, 18300, 6489, 6744, 
##     9150, 19964, 6120, 12200, 9420, 8958, 6108, 8330, 10310, 
##     5224, 13404, 19700, 13252, 13218, 8200, 6300, 5504, 17480, 
##     18485, 17230, 9376, 8800, 11090, 14067, 11600, 13470, 13960, 
##     12275, 8080, 7260, 10500, 8050, 7799, 14360, 10000, 9210, 
##     10690, 7550, 14424, 7994, 7620, 6398, 11700, 18800, 9414, 
##     14850, 6995, 8400, 19240, 10910, 8664, 8842, 12600, 18730, 
##     6987, 16880, 9400, 5170, 4938, 13850, 18700, 10100, 11700, 
##     8840, 15800, 10560, 5950, 4818, 9200, 13380, 7352, 7920, 
##     11200, 5150, 5925, 3957, 12990, 11100, 11500, 13240, 12450, 
##     7320, 15909, 9620, 9858, 10440, 12370, 14700, 4300, 9400, 
##     10700, 11200, 11510, 11390, 11200, 9250, 11040, 20100, 7680, 
##     6930, 7950, 11985, 9813, 12500, 5016, 10300, 8856, 7844, 
##     8200, 11320, 11505, 5580, 9866, 4386, 8550, 13000, 12480, 
##     6073, 8438, 4426, 7050, 10520, 4515, 19300, 6844, 10500, 
##     9900, 12850, 12474, 12250, 16975, 4738, 9090, 10850, 8832, 
##     5376, 17748, 10194, 10320, 5542, 6806, 8400, 11718, 5834, 
##     4856, 13380, 6746, 7799, 3735, 9840, 16404, 14134, 19670, 
##     16560, 12900, 15990, 7629, 16732, 5390, 6400, 5336, 12888, 
##     6530, 8530, 11000, 13312, 11925, 14210, 6360, 18200, 11690, 
##     10500, 6000, 17688, 10178, 9700, 16200, 4290, 11859, 19900, 
##     14400, 10100, 12030, 6684, 4449, 13840, 13970, 19960, 17475, 
##     13250, 15200, 9870, 13425, 9490, 8734, 12520, 16425, 10950, 
##     7410, 7411, 11070, 12950, 10880, 11200, 9985, 11690, 10800, 
##     14350, 10850, 10475, 8236, 8384, 13584, 8955, 17238, 12669, 
##     12000, 7844, 16160, 11250, 8990, 18820, 3811, 3738, 5472, 
##     12772, 7070, 4740, 4285, 7200, 11850, 8400, 7000, 8600, 10456, 
##     10570, 18720, 11550, 13332, 6800, 8678, 12140, 5000, 8650, 
##     13900, 12315, 16900, 3040, 12170, 6550, 6550, 6550, 6550, 
##     6550, 6550, 6550, 6550, 6550, 6840, 6550, 16130, 14500, 7850, 
##     5666, 10965, 7070, 5130, 8490, 7850, 7860, 7600, 10900, 5391, 
##     18810, 11412, 19040, 7700, 6735, 18732, 4440, 11648, 12024, 
##     6618, 18930, 8907, 11656, 10760, 10220, 15192, 11130, 10430, 
##     11800, 7090, 5697, 14220, 4460, 7560, 6994, 6600, 6600, 8723, 
##     8566, 6919, 15732, 8828, 9843, 8949, 4916, 9057, 7246, 6150, 
##     4440, 11450, 11180, 5972, 8400, 8677, 7558, 5634, 6634, 4104, 
##     7731, 16850, 5173, 10602, 17020, 12040, 16230, 10330, 14500, 
##     17840, 13226, 3687, 5800, 8074, 6760, 17230, 4973, 4652, 
##     5764, 4422, 5130, 4104, 12520, 16320, 11750, 6857, 15516, 
##     12212, 8199, 6172, 6704, 7032, 6950, 9096, 8786, 5988, 8840, 
##     14900, 9600, 11800, 17865, 15925, 5587, 10260, 7384, 9140, 
##     4450, 12925, 13500, 13850, 8670, 10000, 11600, 16260, 13750, 
##     15276, 8200, 18350, 2700, 8840, 5590, 9160, 9850, 19130, 
##     7844, 4470, 14200, 6390, 14510, 6940, 8994, 5918, 8124, 5542, 
##     10720, 14320, 11480, 18460, 10500, 16670, 16249, 12660, 12350, 
##     11150, 14800, 10535, 11428, 4200, 6400, 9100, 15884, 6797, 
##     11520, 6900, 19840, 4990)), row.names = c("Abilene.Christian.University", 
## "Adelphi.University", "Adrian.College", "Agnes.Scott.College", 
## "Alaska.Pacific.University", "Albertus.Magnus.College", "Albion.College", 
## "Alderson.Broaddus.College", "Alfred.University", "Allegheny.College", 
## "Alma.College", "Alverno.College", "American.International.College", 
## "Amherst.College", "Anderson.University", "Andrews.University", 
## "Angelo.State.University", "Antioch.University", "Aquinas.College", 
## "Arizona.State.University.Main.campus", "Augsburg.College", "Augustana.College.IL", 
## "Augustana.College", "Austin.College", "Averett.College", "Baker.University", 
## "Baldwin.Wallace.College", "Barat.College", "Barnard.College", 
## "Barry.University", "Baylor.University", "Bellarmine.College", 
## "Belmont.Abbey.College", "Beloit.College", "Benedictine.College", 
## "Bennington.College", "Bentley.College", "Bethany.College", "Bethel.College.KS", 
## "Bethune.Cookman.College", "Birmingham.Southern.College", "Blackburn.College", 
## "Bloomsburg.Univ..of.Pennsylvania", "Bluefield.College", "Bluffton.College", 
## "Boston.University", "Bowdoin.College", "Bowling.Green.State.University", 
## "Bradley.University", "Brandeis.University", "Brenau.University", 
## "Brewton.Parker.College", "Briar.Cliff.College", "Brigham.Young.University.at.Provo", 
## "Bryn.Mawr.College", "Bucknell.University", "Butler.University", 
## "Cabrini.College", "Caldwell.College", "California.Lutheran.University", 
## "California.Polytechnic.San.Luis", "California.State.University.at.Fresno", 
## "Calvin.College", "Campbellsville.College", "Canisius.College", 
## "Capital.University", "Capitol.College", "Carnegie.Mellon.University", 
## "Carroll.College", "Carson.Newman.College", "Carthage.College", 
## "Cazenovia.College", "Cedar.Crest.College", "Cedarville.College", 
## "Centenary.College", "Centenary.College.of.Louisiana", "Central.College", 
## "Central.Connecticut.State.University", "Central.Washington.University", 
## "Central.Wesleyan.College", "Centre.College", "Chapman.University", 
## "Chestnut.Hill.College", "Christendom.College", "Christian.Brothers.University", 
## "Christopher.Newport.University", "Claflin.College", "Claremont.McKenna.College", 
## "Clark.University", "Clarkson.University", "Clinch.Valley.Coll..of..the.Univ..of.Virginia", 
## "Coe.College", "Coker.College", "Colby.College", "Colgate.University", 
## "College.Misericordia", "College.of.Charleston", "College.of.Mount.St..Joseph", 
## "College.of.Saint.Benedict", "College.of.Saint.Elizabeth", "College.of.Saint.Rose", 
## "College.of.Santa.Fe", "College.of.St..Joseph", "College.of.St..Scholastica", 
## "College.of.the.Holy.Cross", "College.of.William.and.Mary", "College.of.Wooster", 
## "Colorado.State.University", "Columbia.College.MO", "Columbia.College", 
## "Columbia.University", "Concordia.College.at.St..Paul", "Concordia.Lutheran.College", 
## "Concordia.University", "Connecticut.College", "Converse.College", 
## "Creighton.University", "Cumberland.College", "D.Youville.College", 
## "Dana.College", "Daniel.Webster.College", "Davidson.College", 
## "Defiance.College", "Delta.State.University", "Denison.University", 
## "DePauw.University", "Dickinson.College", "Dickinson.State.University", 
## "Dillard.University", "Doane.College", "Dordt.College", "Dowling.College", 
## "Drew.University", "Drury.College", "Duke.University", "East.Carolina.University", 
## "East.Tennessee.State.University", "Eastern.Connecticut.State.University", 
## "Eastern.Illinois.University", "Eastern.Mennonite.College", "Eckerd.College", 
## "Elizabethtown.College", "Elms.College", "Elon.College", "Emory...Henry.College", 
## "Erskine.College", "Eureka.College", "Fayetteville.State.University", 
## "Ferrum.College", "Flagler.College", "Florida.Institute.of.Technology", 
## "Florida.International.University", "Fontbonne.College", "Francis.Marion.University", 
## "Franciscan.University.of.Steubenville", "Franklin.College", 
## "Franklin.Pierce.College", "Freed.Hardeman.University", "Fresno.Pacific.College", 
## "Furman.University", "Gannon.University", "Gardner.Webb.University", 
## "Geneva.College", "Georgetown.College", "Georgetown.University", 
## "Georgia.Institute.of.Technology", "Georgia.State.University", 
## "Georgian.Court.College", "Gettysburg.College", "Goldey.Beacom.College", 
## "Gordon.College", "Goshen.College", "Grace.College.and.Seminary", 
## "Grand.Valley.State.University", "Greensboro.College", "Greenville.College", 
## "Grove.City.College", "Guilford.College", "Hamilton.College", 
## "Hamline.University", "Hampden...Sydney.College", "Hanover.College", 
## "Hardin.Simmons.University", "Harding.University", "Hartwick.College", 
## "Harvard.University", "Harvey.Mudd.College", "Hastings.College", 
## "Hendrix.College", "Hillsdale.College", "Hiram.College", "Hofstra.University", 
## "Hollins.College", "Hood.College", "Hope.College", "Huntingdon.College", 
## "Huron.University", "Illinois.Benedictine.College", "Illinois.College", 
## "Illinois.State.University", "Illinois.Wesleyan.University", 
## "Immaculata.College", "Indiana.Wesleyan.University", "Iona.College", 
## "Iowa.State.University", "Ithaca.College", "James.Madison.University", 
## "Jamestown.College", "John.Brown.University", "John.Carroll.University", 
## "Johns.Hopkins.University", "Judson.College", "Juniata.College", 
## "Kansas.State.University", "Kansas.Wesleyan.University", "Kenyon.College", 
## "King.s.College", "King.College", "La.Roche.College", "La.Salle.University", 
## "Lafayette.College", "LaGrange.College", "Lake.Forest.College", 
## "Lakeland.College", "Lambuth.University", "Lander.University", 
## "Lebanon.Valley.College", "Lehigh.University", "Lenoir.Rhyne.College", 
## "Lesley.College", "LeTourneau.University", "Lewis.and.Clark.College", 
## "Lewis.University", "Lincoln.Memorial.University", "Lincoln.University", 
## "Lindenwood.College", "Linfield.College", "Lock.Haven.University.of.Pennsylvania", 
## "Longwood.College", "Loras.College", "Louisiana.College", "Louisiana.State.University.at.Baton.Rouge", 
## "Louisiana.Tech.University", "Loyola.College", "Loyola.University", 
## "Loyola.University.Chicago", "Luther.College", "Lynchburg.College", 
## "Lyndon.State.College", "Macalester.College", "MacMurray.College", 
## "Malone.College", "Manchester.College", "Manhattan.College", 
## "Manhattanville.College", "Mankato.State.University", "Marian.College.of.Fond.du.Lac", 
## "Marist.College", "Mary.Baldwin.College", "Marymount.College.Tarrytown", 
## "Marymount.University", "Maryville.College", "Maryville.University", 
## "Marywood.College", "Massachusetts.Institute.of.Technology", 
## "McKendree.College", "McMurry.University", "McPherson.College", 
## "Mercer.University", "Mercyhurst.College", "Merrimack.College", 
## "Mesa.State.College", "Messiah.College", "Miami.University.at.Oxford", 
## "Millersville.University.of.Penn.", "Milligan.College", "Millsaps.College", 
## "Milwaukee.School.of.Engineering", "Mississippi.College", "Mississippi.State.University", 
## "Mississippi.University.for.Women", "Missouri.Valley.College", 
## "Monmouth.College.IL", "Monmouth.College", "Montana.College.of.Mineral.Sci....Tech.", 
## "Montreat.Anderson.College", "Moorhead.State.University", "Morehouse.College", 
## "Morningside.College", "Morris.College", "Mount.Holyoke.College", 
## "Mount.Marty.College", "Mount.Mercy.College", "Mount.Saint.Clare.College", 
## "Mount.Saint.Mary.s.College", "Mount.St..Mary.s.College", "Mount.Union.College", 
## "Muhlenberg.College", "Murray.State.University", "National.Louis.University", 
## "Nazareth.College.of.Rochester", "New.Jersey.Institute.of.Technology", 
## "New.Mexico.Institute.of.Mining.and.Tech.", "New.York.University", 
## "Newberry.College", "Niagara.University", "North.Adams.State.College", 
## "North.Carolina.A....T..State.University", "North.Carolina.State.University.at.Raleigh", 
## "North.Central.College", "North.Dakota.State.University", "Northeast.Missouri.State.University", 
## "Northeastern.University", "Northern.Arizona.University", "Northern.Illinois.University", 
## "Northwest.Missouri.State.University", "Northwest.Nazarene.College", 
## "Northwestern.University", "Norwich.University", "Oberlin.College", 
## "Occidental.College", "Oglethorpe.University", "Ohio.Northern.University", 
## "Ohio.University", "Ohio.Wesleyan.University", "Oklahoma.Baptist.University", 
## "Oklahoma.Christian.University", "Oklahoma.State.University", 
## "Otterbein.College", "Ouachita.Baptist.University", "Our.Lady.of.the.Lake.University", 
## "Pace.University", "Pacific.Lutheran.University", "Pacific.Union.College", 
## "Pacific.University", "Pembroke.State.University", "Pepperdine.University", 
## "Philadelphia.Coll..of.Textiles.and.Sci.", "Phillips.University", 
## "Pikeville.College", "Pitzer.College", "Point.Loma.Nazarene.College", 
## "Point.Park.College", "Polytechnic.University", "Prairie.View.A..and.M..University", 
## "Presbyterian.College", "Princeton.University", "Providence.College", 
## "Quincy.University", "Quinnipiac.College", "Radford.University", 
## "Ramapo.College.of.New.Jersey", "Randolph.Macon.College", "Randolph.Macon.Woman.s.College", 
## "Reed.College", "Rensselaer.Polytechnic.Institute", "Rider.University", 
## "Ripon.College", "Rivier.College", "Roanoke.College", "Rockhurst.College", 
## "Rocky.Mountain.College", "Roger.Williams.University", "Rollins.College", 
## "Rosary.College", "Rutgers.at.New.Brunswick", "Rutgers.State.University.at.Camden", 
## "Sacred.Heart.University", "Saint.Anselm.College", "Saint.Francis.College", 
## "Saint.Joseph.s.College.IN", "Saint.Joseph.s.College", "Saint.Louis.University", 
## "Saint.Mary.s.College.of.Minnesota", "Saint.Olaf.College", "Saint.Vincent.College", 
## "Salem.College", "Samford.University", "San.Diego.State.University", 
## "Santa.Clara.University", "Schreiner.College", "Scripps.College", 
## "Seattle.Pacific.University", "Seton.Hall.University", "Shippensburg.University.of.Penn.", 
## "Simmons.College", "Simpson.College", "Sioux.Falls.College", 
## "Smith.College", "South.Dakota.State.University", "Southeastern.Oklahoma.State.Univ.", 
## "Southern.Illinois.University.at.Edwardsville", "Southern.Methodist.University", 
## "Southwest.Baptist.University", "Southwest.Missouri.State.University", 
## "Southwest.State.University", "Southwestern.College", "Southwestern.University", 
## "Spalding.University", "Spelman.College", "Spring.Arbor.College", 
## "St..Bonaventure.University", "St..John.Fisher.College", "St..Lawrence.University", 
## "St..Martin.s.College", "St..Mary.s.College.of.California", "St..Mary.s.College.of.Maryland", 
## "St..Mary.s.University.of.San.Antonio", "St..Norbert.College", 
## "St..Paul.s.College", "St..Thomas.Aquinas.College", "Stephens.College", 
## "Stetson.University", "Stevens.Institute.of.Technology", "Stockton.College.of.New.Jersey", 
## "Stonehill.College", "SUNY.at.Albany", "SUNY.at.Binghamton", 
## "SUNY.at.Stony.Brook", "SUNY.College..at.Brockport", "SUNY.College.at.Buffalo", 
## "SUNY.College.at.Cortland", "SUNY.College.at.Fredonia", "SUNY.College.at.New.Paltz", 
## "SUNY.College.at.Plattsburgh", "SUNY.College.at.Potsdam", "SUNY.College.at.Purchase", 
## "Susquehanna.University", "Sweet.Briar.College", "Tabor.College", 
## "Talladega.College", "Taylor.University", "Tennessee.Wesleyan.College", 
## "Texas.A.M.Univ..at.College.Station", "Texas.Christian.University", 
## "Texas.Lutheran.College", "Texas.Southern.University", "Tiffin.University", 
## "Transylvania.University", "Trenton.State.College", "Trinity.College.CT", 
## "Trinity.College.DC", "Tulane.University", "Tusculum.College", 
## "Tuskegee.University", "Union.College.NY", "University.of.Alabama.at.Birmingham", 
## "University.of.California.at.Berkeley", "University.of.California.at.Irvine", 
## "University.of.Central.Florida", "University.of.Chicago", "University.of.Cincinnati", 
## "University.of.Connecticut.at.Storrs", "University.of.Dallas", 
## "University.of.Delaware", "University.of.Denver", "University.of.Detroit.Mercy", 
## "University.of.Dubuque", "University.of.Evansville", "University.of.Florida", 
## "University.of.Georgia", "University.of.Hartford", "University.of.Hawaii.at.Manoa", 
## "University.of.Illinois...Urbana", "University.of.Kansas", "University.of.Maine.at.Machias", 
## "University.of.Maine.at.Presque.Isle", "University.of.Maryland.at.College.Park", 
## "University.of.Massachusetts.at.Amherst", "University.of.Massachusetts.at.Dartmouth", 
## "University.of.Michigan.at.Ann.Arbor", "University.of.Minnesota.at.Duluth", 
## "University.of.Minnesota.at.Morris", "University.of.Minnesota.Twin.Cities", 
## "University.of.Mississippi", "University.of.Missouri.at.Columbia", 
## "University.of.Missouri.at.Saint.Louis", "University.of.Mobile", 
## "University.of.Montevallo", "University.of.New.England", "University.of.New.Hampshire", 
## "University.of.North.Carolina.at.Asheville", "University.of.North.Carolina.at.Chapel.Hill", 
## "University.of.North.Carolina.at.Greensboro", "University.of.North.Carolina.at.Wilmington", 
## "University.of.North.Dakota", "University.of.North.Florida", 
## "University.of.North.Texas", "University.of.Northern.Colorado", 
## "University.of.Notre.Dame", "University.of.Oklahoma", "University.of.Oregon", 
## "University.of.Pennsylvania", "University.of.Portland", "University.of.Puget.Sound", 
## "University.of.Rhode.Island", "University.of.Richmond", "University.of.Rochester", 
## "University.of.San.Francisco", "University.of.Sci..and.Arts.of.Oklahoma", 
## "University.of.South.Carolina.at.Aiken", "University.of.South.Carolina.at.Columbia", 
## "University.of.South.Florida", "University.of.Southern.California", 
## "University.of.Southern.Indiana", "University.of.Southern.Mississippi", 
## "University.of.Tennessee.at.Knoxville", "University.of.Texas.at.Arlington", 
## "University.of.Texas.at.Austin", "University.of.Texas.at.San.Antonio", 
## "University.of.the.Arts", "University.of.the.Pacific", "University.of.Tulsa", 
## "University.of.Utah", "University.of.Vermont", "University.of.Virginia", 
## "University.of.Washington", "University.of.West.Florida", "University.of.Wisconsin.Stout", 
## "University.of.Wisconsin.Superior", "University.of.Wisconsin.Whitewater", 
## "University.of.Wisconsin.at.Madison", "University.of.Wisconsin.at.Milwaukee", 
## "University.of.Wyoming", "Upper.Iowa.University", "Ursinus.College", 
## "Ursuline.College", "Valparaiso.University", "Vanderbilt.University", 
## "Villanova.University", "Virginia.State.University", "Virginia.Tech", 
## "Virginia.Union.University", "Viterbo.College", "Voorhees.College", 
## "Wabash.College", "Wagner.College", "Wake.Forest.University", 
## "Walsh.University", "Warren.Wilson.College", "Wartburg.College", 
## "Washington.and.Jefferson.College", "Washington.and.Lee.University", 
## "Washington.College", "Washington.State.University", "Washington.University", 
## "Wayne.State.College", "Waynesburg.College", "Webber.College", 
## "Webster.University", "Wentworth.Institute.of.Technology", "Wesleyan.University", 
## "West.Chester.University.of.Penn.", "West.Liberty.State.College", 
## "West.Virginia.Wesleyan.College", "Western.Carolina.University", 
## "Western.Maryland.College", "Western.Michigan.University", "Western.New.England.College", 
## "Western.State.College.of.Colorado", "Western.Washington.University", 
## "Westfield.State.College", "Westminster.College.MO", "Westmont.College", 
## "Wheaton.College.IL", "Westminster.College.PA", "Wheeling.Jesuit.College", 
## "Whitman.College", "Whittier.College", "Whitworth.College", "Widener.University", 
## "Wilkes.University", "Willamette.University", "William.Woods.University", 
## "Wilson.College", "Winona.State.University", "Winthrop.University", 
## "Wisconsin.Lutheran.College", "Worcester.Polytechnic.Institute", 
## "Worcester.State.College", "Xavier.University", "Xavier.University.of.Louisiana", 
## "Yale.University", "York.College.of.Pennsylvania"), class = "data.frame"))
## Deviance Residuals:
##      Min       1Q   Median       3Q      Max 
## -7281.68 -1275.45    88.13  1314.46  7118.31 
## 
## (Dispersion Parameter for gaussian family taken to be 3958862)
## 
##     Null Deviance: 9568659608 on 583 degrees of freedom
## Residual Deviance: 2177372513 on 549.9996 degrees of freedom
## AIC: 10564.11 
## 
## Number of Local Scoring Iterations: 3 
## 
## Anova for Parametric Effects
##                         Df     Sum Sq    Mean Sq  F value    Pr(>F)    
## s(perc.alumni, df = 3)   1 2277943244 2277943244 575.4035 < 2.2e-16 ***
## s(PhD, df = 3)           1  377458006  377458006  95.3451 < 2.2e-16 ***
## s(Grad.Rate, df = 3)     1  737317805  737317805 186.2449 < 2.2e-16 ***
## s(Top25perc, df = 3)     1   41801474   41801474  10.5590  0.001227 ** 
## s(Books, df = 3)         1    1615073    1615073   0.4080  0.523271    
## s(S.F.Ratio, df = 3)     1  481006425  481006425 121.5012 < 2.2e-16 ***
## s(P.Undergrad, df = 3)   1   38364658   38364658   9.6908  0.001948 ** 
## s(Enroll, df = 3)        1  178866843  178866843  45.1814 4.503e-11 ***
## s(Accept, df = 3)        1  426427233  426427233 107.7146 < 2.2e-16 ***
## s(Apps, df = 3)          1   31963476   31963476   8.0739  0.004657 ** 
## s(Expend, df = 3)        1 1138460948 1138460948 287.5728 < 2.2e-16 ***
## Residuals              550 2177372513    3958862                       
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Anova for Nonparametric Effects
##                        Npar Df Npar F     Pr(F)    
## (Intercept)                                        
## s(perc.alumni, df = 3)       2  4.020  0.018479 *  
## s(PhD, df = 3)               2  2.144  0.118148    
## s(Grad.Rate, df = 3)         2  6.275  0.002020 ** 
## s(Top25perc, df = 3)         2  1.051  0.350229    
## s(Books, df = 3)             2  4.458  0.012007 *  
## s(S.F.Ratio, df = 3)         2 10.142 4.723e-05 ***
## s(P.Undergrad, df = 3)       2  1.598  0.203225    
## s(Enroll, df = 3)            2 11.026 2.019e-05 ***
## s(Accept, df = 3)            2  9.406 9.627e-05 ***
## s(Apps, df = 3)              2  5.346  0.005018 ** 
## s(Expend, df = 3)            2 66.784 < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

perc.alumi, Grad.Rate, Books, S.F.Ratio, Enroll, Accept, Apps, and Expend show strong evidence of a non-linear relationship with the response variable, Outstate. We are able to detect this non-linear relationship by looks at the small p-values in the ANOVA for Nonparametric Effects Table.