Hi Karl,

The "why do it like this" is probably direct towards creating 9 new objects for the arima results (Is this right Bill?). A better option would be to create a list with nine entries. This is much easier for any subsequent analyses. An example that uses lapply (an efficient syntax for loops):

sseq <- c(1, seq(5, 40, by = 5))
result_list = lapply(sseq, function(num) {
    arima(data.ts[num:(num+200)], order=c(1,1,1))
})

cheers,
Paul

On 09/06/2010 10:46 AM, Karl Brand wrote:
Hi Bill,

I didn't make the original post, but its pretty similar to some thing i would have queried the list about. But, as an R dilatante i find more curious your question-

"...but why would you want to do so?"

Is this because you'd typically use the given nine lines of explicit code to carve up a single dataset into nine symmetrical variants ? Or that some contextual information may affect how you would write the for() loop?

As i lack the experience to know any better, i perceive your for() loop as de rigour in efficient use of R, and the preferance of all experienced R user's. But not having any formal education in R or role models as such, its only an assumption (compeletely ignoring for the moment processing efficiency/speed, rounding error and such).

But which i now question! Explicit, simple crude looking code; or, something which demands a little more proficiency with the language?

cheers,

Karl



On 9/6/2010 6:16 AM, bill.venab...@csiro.au wrote:

sseq<- c(1, seq(5, 40, by = 5))
for(i in 1:length(sseq))
assign(paste("arima", i, sep=""), arima(data.ts[sseq[i]:(sseq[i]+200)], order=c(1,1,1)))

...but why would you want to do so?


-----Original Message-----
From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of lord12
Sent: Monday, 6 September 2010 10:57 AM
To: r-help@r-project.org
Subject: [R] how do I transform this to a for loop


arima1<- arima(data.ts[1:201], order = c(1,1,1))
arima2<- arima(data.ts[5:205], order = c(1,1,1))
arima3<- arima(data.ts[10:210], order = c(1,1,1))
arima4<- arima(data.ts[15:215], order = c(1,1,1))
arima5<- arima(data.ts[20:220], order = c(1,1,1))
arima6<- arima(data.ts[25:225], order = c(1,1,1))
arima7<- arima(data.ts[30:230], order = c(1,1,1))
arima8<- arima(data.ts[35:235], order = c(1,1,1))
arima9<- arima(data.ts[40:240], order = c(1,1,1))




--
Drs. Paul Hiemstra
Department of Physical Geography
Faculty of Geosciences
University of Utrecht
Heidelberglaan 2
P.O. Box 80.115
3508 TC Utrecht
Phone:  +3130 253 5773
http://intamap.geo.uu.nl/~paul
http://nl.linkedin.com/pub/paul-hiemstra/20/30b/770

______________________________________________
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