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.