[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