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 № 1Provare
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))