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, [email protected] 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: [email protected]
>> [mailto:[email protected]] On Behalf Of lord12
>> Sent: Monday, 6 September 2010 10:57 AM
>> To: [email protected]
>> 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
[email protected]
**********
http://www.for771.uni-bonn.de
http://webapp5.rrz.uni-hamburg.de/mammals/eng/mitarbeiter.php
[[alternative HTML version deleted]]
______________________________________________
[email protected] 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.