Dear R users,
I am having some difficulty arranging some matrices and wondered if
anyone could help out. As an example, consider the following matrix:
a <- matrix(1:32, nrow = 4, ncol = 8)
a
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 1 5 9 13 17 21 25 29
[2,] 2 6 10 14 18 22 26 30
[3,] 3 7 11 15 19 23 27 31
[4,] 4 8 12 16 20 24 28 32
I would like it to look like the following matrix:
[,1] [,2] [,3] [,4]
[1,] 1 5 9 13
[2,] 2 6 10 14
[3,] 3 7 11 15
[4,] 4 8 12 16
[5,] 17 21 25 29
[6,] 18 22 26 30
[7,] 19 23 27 31
[8,] 20 24 28 32
I can achieve this using the following:
a1 <- a[, 1:4]
a2 <- a[, 5:8]
b <- rbind(a1, a2)
However, my initial matrix often has a varibale number of columns (in
multiples of 4, and I still want to split the columns into blocks of 4
and stack these). I have considered working out how many blocks the
matrix must be split into using: no.blocks <- ncol(a)/4. My problem is
then implementing this information to actually split the matrix up and
then stack it. Any guidance on this would be much appreciated.
Regards
Darcy Webber
______________________________________________
[email protected] 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.