Instead of talking about how you want to do something and showing us your Matlab code, tell us what you want to do, include reproducible data, and show us your R code so far. Your initial assumption, that you need a loop for these examples is incorrect if I have understood you correctly. Many functions in R are vectorized so that loops can often be avoided.
To create a 5 x 2 matrix of random normal numbers with mean=0 and sd=1: > set.seed(42) > crand <- cbind(r1=rnorm(5), r2=rnorm(5)) # Don't use c as a variable since > c() is a function > crand r1 r2 [1,] 1.3709584 -0.10612452 [2,] -0.5646982 1.51152200 [3,] 0.3631284 -0.09465904 [4,] 0.6328626 2.01842371 [5,] 0.4042683 -0.06271410 To compute sin() on pairs of rows and columns from a 2 x 10 matrix (this time we'll use uniform random numbers): > X <- matrix(runif(20), 2, 10) > X [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [1,] 0.9040314 0.9888917 0.08243756 0.3902035 0.4469696 0.7375956 0.3881083 0.003948339 [2,] 0.1387102 0.9466682 0.51421178 0.9057381 0.8360043 0.8110551 0.6851697 0.832916080 [,9] [,10] [1,] 0.007334147 0.9066014 [2,] 0.207658973 0.6117786 > sin(X[, 1] - X[, 2]) [1] -0.08475853 -0.72287775 > t(sin(X[, 1:9] - X[, 2:10])) [,1] [,2] [1,] -0.084758528 -0.72287775 [2,] 0.787322543 0.41910237 [3,] -0.302930277 -0.38159970 [4,] -0.056735679 0.06967737 [5,] -0.286552020 0.02494653 [6,] 0.342416179 0.12555319 [7,] 0.374780442 -0.14720941 [8,] -0.003385802 0.58530576 [9,] -0.782871221 -0.39320949 ------------------------------------- David L Carlson Department of Anthropology Texas A&M University College Station, TX 77840-4352 -----Original Message----- From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of Gordon, Fabiana Sent: Wednesday, April 27, 2016 9:25 AM To: 'r-help@R-project.org' Subject: [R] Create a new variable and concatenation inside a "for" loop 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.gor...@imperial.ac.uk<mailto:fabiana.gor...@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@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. ______________________________________________ R-help@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.