library(faraway) library(MASS) data(savings) g <- lm(sr ~ pop15+pop75+dpi+ddpi,savings) boxcox(g,plotit=T) boxcox(g,plotit=T,lambda=seq(0.5,1.5,by=0.1)) data(gala) g <- lm(Species ~ Area + Elevation + Nearest + Scruz + Adjacent,gala) boxcox(g,plotit=T) boxcox(g,lambda=seq(0.0,1.0,by=0.05),plotit=T) g1 <- lm(sr ~ pop15, savings, subset=(pop15 < 35)) g2 <- lm(sr ~ pop15, savings, subset=(pop15 > 35)) plot(sr ~ pop15,savings,xlab="Pop'n under 15",ylab="Savings Rate") abline(v=35,lty=5) segments(20,g1$coef[1]+g1$coef[2]*20,35,g1$coef[1]+g1$coef[2]*35) segments(48,g2$coef[1]+g2$coef[2]*48,35,g2$coef[1]+g2$coef[2]*35) lhs <- function(x) ifelse(x < 35,35-x,0) rhs <- function(x) ifelse(x < 35,0,x-35) gb <- lm(sr ~ lhs(pop15) + rhs(pop15), savings) x <- seq(20,48,by=1) py <- gb$coef[1]+gb$coef[2]*lhs(x)+gb$coef[3]*rhs(x) lines(x,py,lty=2) summary(lm(sr ~ ddpi,savings)) summary(lm(sr ~ ddpi+I(ddpi^2),savings)) summary(lm(sr ~ ddpi+I(ddpi^2)+I(ddpi^3),savings)) savings <- data.frame(savings,mddpi=savings$ddpi-10) summary(lm(sr ~ mddpi+I(mddpi^2),savings)) g <- lm(sr ~ poly(ddpi,4),savings) summary(g) g <- lm(sr ~ polym(pop15,ddpi,degree=2),savings) funky <- function(x) sin(2*pi*x^3)^3 x <- seq(0,1,by=0.01) y <- funky(x) + 0.1*rnorm(101) matplot(x,cbind(y,funky(x)),type="pl",ylab="y",pch=18,lty=1) g4 <- lm(y ~ poly(x,4)) g12 <- lm(y ~ poly(x,12)) matplot(x,cbind(y,g4$fit,g12$fit),type="pll",ylab="y",pch=18,lty=c(1,2)) library(splines) knots <- c(0,0,0,0,0.2,0.4,0.5,0.6,0.7,0.8,0.85,0.9,1,1,1,1) bx <- splineDesign(knots,x) gs <- lm(y ~ bx) matplot(x,bx,type="l") matplot(x,cbind(y,gs$fit),type="pl",ylab="y",pch=18,lty=1)