1. Thanks for the reproducible example. It makes the issue clear. 2. Your error reflects a profound confusion about how programming works in general, and R in particular. I think the following is a correct technical explanation (I am not a trained programmer, so corrections from those who are would be appreciated).
R is not a macro language. The "i" in "for( i in 1:14)" is a name of a variable, not a symbol for which substitution will occur. window.i is also a name that **has nothing to do with the variable named "i" ** . To do what you want, you need to explcitly make the connection. One could do it the way you have set things up by first composing the names of the window.i objects and then associating the names with the objects: ... for (i in 1:14){ ... window.i <- get(paste("window","i",sep=".")) ... } But this construction is clumsy. A better way to do things is to make your windows and armods objects different components of a list and refer to them via subscripting: windows <- as.list(1:14) armods <- windows windows[[1]] <- ... windows[[2]] <- ... ... ## warning: untested for(i in 1:14){ ... armods[[i]] <- lm ( formula = window[[i]] ~ ar(1) ) ... } Use of a programming language -- any language -- requires a learning commitment that you do not appear to have made. Please spend some quality time with "An Introduction to R" and other R learning resources before you post to the list again. -- Bert Gunter -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Scotty Nelson Sent: Monday, October 20, 2008 11:02 PM To: r-help@r-project.org Subject: [R] For loop - how to assign "i" when it is not an element of an index? Hello, I'm trying to build a for loop, where I estimate a series of models with different sets of (time series) data. However my for loop doesn't recognize the "i" ##################### code################ window.1=anomalies.CAK[(positions(anomalies.CAK)>=timeDate("1/1/1971") & positions(anomalies.CAK)<=timeDate("6/30/1991") )] .... window.14=anomalies.CAK[(positions(anomalies.CAK)>=timeDate("1/1/1984") & positions(anomalies.CAK)<=timeDate("6/30/2004") ),] for (i in 1:14){ ar1mods[1] = lm ( formula = window.i~ ar(1) ) } ################################# end code ################### Problem: Object "window.i" not found Anybody have a quick tip on what I'm doing wrong? -- View this message in context: http://www.nabble.com/For-loop---how-to-assign-%22i%22-when-it-is-not-an-ele ment-of-an-index--tp20083917p20083917.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ 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. ______________________________________________ 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.