1. Double descent. 2. 0 correlation: all independent: square, rectangle 3. simpolycorr <- function(x,deg) { d <- matrix(x,ncol=1) for (i in 2:deg) { d <- cbind(d,x^i) crr <- cor(d) crr <- crr[row(crr) != col(crr)] # trick to get nondiag elements print(max(crr)) print(min(crr)) } } simpolycorr(mlb$Age,6) 4. myPCA <- function(x) { cvx <- cov(x) eigout <- eigen(cvx) list(sdev=sqrt(eigout$values), rotation=eigout$vectors) } library(regtools) data(mlb) mlbx <- mlb[,c('Height','Weight','Age')] myPCA(mlbx) pcout <- prcomp(mlbx) pcout$sdev pcout$rotation