Blockweise Summe der Matrixelemente

Ich möchte von so etwas ausgehen:

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

Auf so etwas:

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

... ohne for-Schleifen, plyr oder auf andere Weise ohne Schleifen zu verwenden. Möglich? Ich versuche, einen geografischen lat / long-Datensatz von 5 Bogenminuten auf einen halben Grad zu verkleinern, und ich habe ein ASCII-Raster. Eine kleine Funktion, in der ich blocksize spezifiziere, wäre toll. Ich habe Hunderte solcher Dateien, daher wären Dinge, die es mir ermöglichen, schnell ohne Parallelisierung / Supercomputer vorzugehen, sehr willkommen.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage