data(women) w = women$w h = women$h plot(h,w) lm1 = lm(w~h) # simple regression lm0 = lm(w ~ h-1) # through 0. lm2 = lm(w ~ h + I(h*h)) # a parabola slm0 = summary(lm0) slm1 = summary(lm1) slm2 = summary(lm2) aRs0 = slm0$adj aRs1 = slm1$adj aRs2 = slm2$adj library(MASS) boxcox(lm1) # suggests lambda = -1 bc = function(y,lambda) { if (lambda != 0) ret = (y^lambda - 1)/lambda else ret = log(y) ret } cb = function(x,lambda,a,b) (lambda*(a+b*x) + 1)^(1/lambda) lm3 = lm(bc(w,-1)~h) f3 = function(x) cb(x,-1,lm3$co[1],lm3$co[2]) plot(h,w) curve(f3,col="red",add=TRUE) b2 = lm2$co curve(b2[1]+b2[2]*x+b2[3]*x^2,col="green",add=TRUE) abline(lm1) abline(lm0,col="blue")