[R] Create a new variable and concatenation inside a "for" loop

Tom Wright tom at maladmin.com
Tue May 3 01:45:01 CEST 2016


As pointed out somewhere in the replies to this you can always use the
exists() function.
for(i in 1:5){
    if(exists(output)){
        output <- c(output, i )
    }else{
       output <- i
   }
}

On Wed, Apr 27, 2016, 11:15 AM Gordon, Fabiana <
fabiana.gordon at imperial.ac.uk> wrote:

> Hello,
>
> Suppose the you need a loop to create a new variable , i.e., you are not
> reading data from outside the loop. This is a simple example in Matlab code,
>
> for i=1:5
> r1=randn
> r2=randn
> r=[r1 r2]
> c(i,:)=r;   % creation of each row of c , % the ":" symbol indicates all
> columns. In R this would be [i,]
> end
>
> The output of interest is c which I'm creating inside the "for" loop -also
> the index used in the loop is used to create c. In R I had to create c as
> an  empty vector (numeric() ) outside the loop, otherwise I get an error
> message saying that c doesn't exit.
>
> The other issue is the concatenation. In each iteration I'm creating the
> rows of c by placing the new row  (r) below the previous one so that c
> becomes a 5 x 2 matrix.
> In R, it seems that I have no choice but use the function "rbind". I
> managed to write this code in R . However, I'm not sure that if instead of
> creating a new variable  using  the index in the "for" loop , I wanted to
> use the index to read data, e.g.  suppose I have a 2 X 10 matrix X and
> suppose I want to calculate the sin () for each 2 x 2 sub-matrix of and
> stored in a matrix A. Then the code would be something like this,
>
> for i=1:5
> A(:, 2*i-1:2*i)= sin(X(:, 2*i-1:2*i))   % the ":" symbol indicates all rows
> end
>
> Many Thanks,
>
> Fabiana
>
>
> Dr Fabiana Gordon
>
> Senior Statistical Consultant
> Statistical Advisory Service, School Of Public Health,
> Imperial College London
> 1st Floor, Stadium House, 68 Wood Lane,
> London W12 7RH.
>
> Tel: 020 7594 1749
> Email: fabiana.gordon at imperial.ac.uk<mailto:fabiana.gordon at imperial.ac.uk>
> Web:
> www.imperial.ac.uk/research-and-innovation/support-for-staff/stats-advice-service/
> <
> http://www.imperial.ac.uk/research-and-innovation/support-for-staff/stats-advice-service/
> >
>
>
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list