[R] for loop not working in function

Petr Pikal petr.pikal at precheza.cz
Wed Oct 11 09:57:43 CEST 2006


Hi

You definitely shall consult an introduction manuals you can find in 
doc directory of your R installation. Good starting point is also 
http://www.r-project.org/ and its documentatation section.

boxcox <- function(x,min,max,step) {
lambda <- seq(min,max,step) # you set lambda1
s <- length(lambda)

for (lambda in 1:s) # here you expect lambda is different from 
# lambda1 and you make all computation with this new value of lambda
# you need to use also curly braces to include all rows between them
# into one cycle

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
}



On 11 Oct 2006 at 0:28, Dale Steele wrote:

Date sent:      	Wed, 11 Oct 2006 00:28:21 -0400
From:           	Dale Steele <Dale_Steele at brown.edu>
To:             	r-help at stat.math.ethz.ch
Subject:        	[R] for loop not working in function

> 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
> }
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html and provide commented,
> minimal, self-contained, reproducible code.

Petr Pikal
petr.pikal at precheza.cz



More information about the R-help mailing list