Hi,

I am trying to run several polynomial regressions on simulated data and produce 
fitted values with the pol1, pol2 functions (predict produces not so nice 
plots, see http://www.r-bloggers.com/polynomial-regression-techniques/). 
Below's a simplified version of what I try to achieve. It seems that while 
assigning within a loop does work, my assignment gets overwritten.

Any ideas - I suspect it is a basic mistake, my first post here...

Best,
Christoph

rm(list=ls())

# data generation
N=10
u = rnorm(N,0,.25)
x = sort(runif(N))
y = sin(2*pi*x)+u

# number of polynomials (just 2 for simplicity here)
degree = 2

plot(x,y)
for(i in 1:degree)
{
  nam <- paste("fit",i,sep = "")
  assign(nam, lm(y~poly(x,i,raw=TRUE))) # works nicely and I can access fit1, 
fit2 later

  nam2 <- paste("pol",i,sep = "")
  assign(nam2, function(x) 
matrix(x^rep(0:i,each=length(x)),ncol=i+1)%*%get(paste("fit",i,sep = 
""))$coefficient[1:(i+1)])

  if(i==1) print(pol1(x)) # something different than pol2(x)
  #curve(get(paste("pol",i,sep = "")), col=20+i, lwd=2, add = TRUE) # the 
ultimate goal
}

print(pol1(x)) # produces the same result as pol2(x), although it did not in 
the loop
print(pol2(x))

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org 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.

Reply via email to