Let\'s make a replicable example:
This is my initial matrix
d<- matrix(1:80,,5) d [,1] [,2] [,3] [,4] [,5] [1,] 1 17 33 49 65 [2,
Another simple solution:
matrix <- matrix(seq(1,16), ncol = 4) rbind(matrix, 16+matrix, 32+matrix, 48+matrix, 64+matrix)
or:
matrix <- matrix(seq(1,16), ncol = 4) do.call(rbind, lapply(0:4, function(x){ 16*x+matrix }) )