I want to go from something like this:
1> a = matrix(c(1,4,2,5,2,5,2,1,4,4,3,2,1,6,7,4),4) 1> a [,1] [,2] [,3] [,4] [1,] 1 2 4 1 [2,]
tapply(a, list((row(a) + 1L) %/% 2L, (col(a) + 1L) %/% 2L), sum) # 1 2 # 1 12 15 # 2 10 16
I used 1L and 2L instead of 1 and 2 so indices remain integers (as opposed to numerics) and it should run faster that way.
1L
2L
1
2