Hi, I need to permute the rows of a matrix, where each row is independently rearranged. A simple solution is this:
shuffled <- datamatrix <- matrix(1:24, ncol = 4) for (i in 1:nrow(datamatrix)) { shuffled[i, ] <- sample(datamatrix[i, ]) } > datamatrix [,1] [,2] [,3] [,4] [1,] 1 7 13 19 [2,] 2 8 14 20 [3,] 3 9 15 21 [4,] 4 10 16 22 [5,] 5 11 17 23 [6,] 6 12 18 24 > shuffled [,1] [,2] [,3] [,4] [1,] 7 19 13 1 [2,] 2 8 14 20 [3,] 15 3 9 21 [4,] 22 10 16 4 [5,] 5 11 17 23 [6,] 24 6 12 18 However, I need to perform quite a lot of these permutations, and I was wondering whether anyone knows of a faster way of doing this. Something that might not involve a "for" loop, for instance? -Diogo ______________________________________________ R-help@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.