[R] R for loop question
Erik Iverson
iverson at biostat.wisc.edu
Tue May 20 21:52:54 CEST 2008
Take a look at ?assign
Juan Manuel Barreneche wrote:
> 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
>
> ______________________________________________
> R-help at 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.
>
More information about the R-help
mailing list