"boxcox"<- function(x, y, i) { sly <- sum(log(y)) n <- length(y) ll <- rep(0, length(i)) for(j in 1:length(i)) { l <- i[j] if(l == 0) ty <- log(y) else ty <- (y^l - 1)/l res <- lsfit(x, ty)$res ll[j] <- ( - n * log(sum(res^2)/n))/2 + (l - 1) * sly } list(lambda = i, loglik = ll) }