/ / Lista di manipolazione delle matrici in R - r, lista, matrice

Elenco di manipolazione di matrici in R - r, lista, matrice

Ho una lista di matrici, contenente 100 matrici. L[[i]] è una matrice quadrata di 200 * 200. Voglio manipolare ciascuna matrice in D-L[[i]] formato dove D è una matrice diagonale con diagonale con diagonale come somma di L[[i]] sopra le colonne. Voglio qualcosa di simile

for(i in 1:100){ M_i = diag(as.matrix(rowSums(L[[i]]))) - as.matrix(L[[i]]) }

Così ora posso trovare manipolato M_i e inoltre vogliono stampare ciascuno M_i. Grazie in anticipo per qualsiasi aiuto in questa direzione.

risposte:

3 per risposta № 1

Provare

lapply(L, function(x) diag(rowSums(x))-x)

dati

set.seed(25)
L <- lapply(1:5, function(i) matrix(sample(1:20, 4*4,
replace=TRUE), ncol=4))