Ich habe eine Frage über die Indizierung von 3 Dim-Arrays.R Indizierung von Arrays. Wie man ein 3-dimensionales Array unter Verwendung einer Matrix für die 3. Dimension indiziert
Say I
x<- c(1:36)
dim(x) <- c(3,4,3)
heute ein 3-dimensionales Array haben möchte ich aus dieser Arraywerte extrahieren, gemäß einer Matrix der 3. Dimension Indizes für alle [i,j]
Positionen zu halten.
y <- c(rep(1,4),rep(2,4),rep(3,4))
dim(y) <- c(3,4)
y
[,1] [,2] [,3] [,4]
[1,] 1 1 2 3
[2,] 1 2 2 3
[3,] 1 2 3 3
So sollte das Ergebnis dieser werden geben:
[,1] [,2] [,3] [,4]
[1,] 1 4 19 34
[2,] 2 17 20 35
[3,] 3 18 33 36
Gibt es eine elegante Art und Weise, dies zu tun? Ich weiß, wie man zwei for-Schleifen benutzt, um über das Array zu gehen, aber das ist zu langsam für meine Daten.
Vielen Dank für die Hilfe. Und ja, das Lesen von Hilfedateien ist eine sehr gute Idee. Immer. Übrigens ist es möglich, einige Bedingungstests in der Matrix der Indizes zu verwenden? wie x> 3? – Atomhamster