# Montgomery, Exercise 9.10 library(MPV) # contains the dataset table.b1 library(car) # for vif lm.fit <- lm(y ~ ., data = table.b4) vif(lm.fit) summ <- summary(lm.fit) X1 <- model.matrix(lm.fit) # get the X matrix X <- X1[, -1] # remove the intercept column (column 1) WtW <- cor(X) WtW # VIF vif(lm.fit) # or diagonals in solve(WtW) # Condition number eval <- eigen(WtW) eval condition_number <- sqrt(max(eval$values) / min(eval$values)) condition_number # (<100 so no serious problem see p. 298 Montgomery)