immagina di avere una matrice 3-dimensionale con righe, colonne e strati:Applicare una funzione a ciascuno strato di una matrice 3d, restituendo un array
A <- array (1:27, c(3,3,3))
e immaginare di avere una funzione che accetta una matrice come input e restituisce una matrice come output, come t
.
Come si può applicare la funzione a ogni livello della matrice, restituendo un altro array delle stesse dimensioni come il primo?
mi sento come dovrebbe essere in grado di farlo con apply
in qualche modo, ma non ci riesco.
Domanda bonus (sarei molto grato se avete risposto a questa domanda): è più veloce farlo, o fare una lista di ciascuna delle matrici dei livelli e la funzione lapply
per loro?
-
Edit: si prega di non credo che tale questione venga risolta - la risposta qui sotto non risponde alla domanda.
Questo non è quello che intendevo. La risposta giusta dovrebbe avere il primo livello essere uguale a 't (matrice (1: 9, 3, 3))', che nessuno di questi è. –
Questo è ciò che intendo dire dover riflettere attentamente sulle dimensioni per ottenere ciò che desideri. – mnel
Nessuna delle possibili combinazioni dei margini dà la risposta che sto cercando, però. –