  Hi Karl,

I think the question here is why would you want to create different 
objects in the loop using assign().
Usually, using lists is better (more efficient?), although I sometimes 
use assign() too in this context. I do it when I want to export the 
object as separate files (xls, Rbin, svg, etc). If I don't need separate 
files, I use lists.
I'm no expert so I'm not even sure I use the "correct" approach, but it 
might help you get a better understanding.

It would be something like:
sseq<- c(1, seq(5, 40, by = 5))
arima <- vector(mode="list", length=length(sseq)) ##not sure it is 
necessary, but it might be
for(i in 1:length(sseq)) {
arima[[i]] <- arima(data.ts[sseq[i]:(sseq[i]+200)], order=c(1,1,1))
}

HTH,
Ivan


Le 9/6/2010 10:46, Karl Brand a écrit :
> 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.Venables@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-bounces@r-project.org 
>> [mailto:r-help-bounces@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))
>>
>

-- 
Ivan CALANDRA
PhD Student
University of Hamburg
Biozentrum Grindel und Zoologisches Museum
Abt. Säugetiere
Martin-Luther-King-Platz 3
D-20146 Hamburg, GERMANY
+49(0)40 42838 6231
ivan.calandra@uni-hamburg.de

**********
http://www.for771.uni-bonn.de
http://webapp5.rrz.uni-hamburg.de/mammals/eng/mitarbeiter.php


	[[alternative HTML version deleted]]

