Soma de blocos de elementos da matriz

Eu quero ir de algo como isto:

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,]    4    5    4    6
[3,]    2    2    3    7
[4,]    5    1    2    4

Para algo assim:

     [,1] [,2]
[1,]   12   15
[2,]   10   16

... sem usar for-loops, plyr ou sem loop. Possível? Estou tentando encolher um conjunto de dados de lat / long geográfico de 5 minutos de arco para meio grau, e tenho uma grade ascii. Uma pequena função onde eu especifico o tamanho do bloco seria ótimo. Eu tenho centenas desses arquivos, então coisas que me permitem fazer isso rapidamente sem paralelização / supercomputadores seriam muito apreciadas.

questionAnswers(3)

yourAnswerToTheQuestion