[R] R for loop question
Juan Manuel Barreneche
jumanbar at gmail.com
Tue May 20 21:37:05 CEST 2008
I had to do the same thing many times, i usually use a combination of the
functions "eval", "parse" and "sprinf", as below:
k <- 1
for (i in 1:length(stats$hour)) {
eval(parse(text=sprintf("x%s <- dataset[%s,(3:15)]", i, k)))
k <- k+1
}
what it does is:
eval(parse(text=STRING)) is a way to execute what is written on STRING
and
sprintf("TEXT%sTEXT", VARIABLE) substitutes the %s part of the text in the
first argument for whatever is on the second argument (you can extend this to
many %s parts)
Note: i've changed the "=" for the "<-" because someone told me that it was
more correct (don't ask me why though!).
JM
El Martes, 20 de Mayo de 2008 13:58, Douglas M. Hultstrand escribió:
> Hello,
>
> I am trying to assign a variable name (x1,x2,x3...) in a loop statement
> that is based on a counter (counter is based on the number of hours
> within the datafile). The x1,x2 data will later be called for plotting
> the data. Below is a clip of the for loop I am using, any suggestions?
>
> k = 1
> for (i in 1:length(stats$hour)) {
> "x(i)" = dataset[k,(3:15)]
> k = k+1
> }
>
> Thanks,
> Doug
More information about the R-help
mailing list