Unerwartetes Funktionsverhalten in R anwenden

Ich habe ein überraschendes Verhalten von entdecktapply Das frage ich mich, ob das jemand erklären kann. Nehmen wir eine einfache Matrix:

> (m = matrix(1:8,ncol=4))
     [,1] [,2] [,3] [,4]
[1,]    1    3    5    7
[2,]    2    4    6    8

Wir können es also vertikal spiegeln:

> apply(m, MARGIN=2, rev)
     [,1] [,2] [,3] [,4]
[1,]    2    4    6    8
[2,]    1    3    5    7

Dies gilt für dierev() Vektorumkehrfunktion iterativ zu jeder Spalte. Aber wenn wir versuchen, rev by row anzuwenden, erhalten wir:

> apply(m, MARGIN=1, rev)
     [,1] [,2]
[1,]    7    8
[2,]    5    6
[3,]    3    4
[4,]    1    2

.. eine Drehung um 90 Grad gegen den Uhrzeigersinn! Übernehmen liefert das gleiche Ergebnis mitFUN=function(v) {v[length(v):1]} es ist also definitiv nicht revs schuld.

Irgendeine Erklärung dafür?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage