[R] for loop not working in function

Dale Steele Dale_Steele at brown.EDU
Wed Oct 11 06:28:21 CEST 2006


I'm trying to write a small function (below) to compute Box & Cox 
transformations of x for arbitrary values of lambda.  I'd like to 
specify a range of values for lamba (min,max,step) and am having trouble 
getting the for loop to work.  Suggestions?

Any pointers to resources for learning to write functions in R for 
neophyte programmers?  Thanks.  --Dale


boxcox <- function(x,min,max,step) {
lambda <- seq(min,max,step)
s <- length(lambda)
for (lambda in 1:s)
n <- nrow(x)
if(lambda ==0) xL <- log(x) else
xL <- ((x^lambda) - 1)/lambda
xLbar <- mean(xL)
t1 <- (-n/2)* log((1/n)*sum((xL -  xLbar)^2))
t2 <- (lambda - 1)*sum(log(x))
l= t1 + t2
l
}



More information about the R-help mailing list