[R] Loop for in R to generate several variables

Barry Rowlingson b.rowlingson at lancaster.ac.uk
Mon Apr 7 13:24:48 CEST 2008


Gustaf Rydevik wrote:
> On Mon, Apr 7, 2008 at 11:31 AM, arpino <bruno.arpino at unibocconi.it> wrote:
>>  Hi everybody,
>>  I have to create several variables of this form:
>>
>>  Yind = L0 + L1*X1 + L2*X2 + L3*X3 + K*Cind + n
>>
>>  where ind varires in {1,...,10}

> 
> look up ?assign and ?get, i.e:
> for (ind in 1:10) {
> assign(paste("Y",ind,sep=""),L0 + L1*X1 + L2*X2 + L3*X3 +
> get(paste("C",ind,sep=""))+ n)
>  }

  EXCEPT you probably don't really want to do that.

  Much much better to store the results in a list(), so you can access 
each element in a much more obvious way, with an integer index, unlike 
that faffing with assign() and get().

  Y=list()
  for(ind in 1:10){
   Y[[ind]] = foo(ind)
  }

  Then Y[[1]] and so on gives you the values.

Barry



More information about the R-help mailing list