Ich möchte das obere Dreieck in das untere Dreieck einer Reihe von Matrizen kopieren, die in einer Liste gespeichert sind.Kopiere oberes Dreieck in unteres Dreieck für mehrere Matrizen in einer Liste
Erstellen Sie eine Liste von Matrizen mit nur dem oberen Dreieck mit Daten gefüllt:
m1<-matrix(1:9, 3, 3);lower.tri(m1);m1[lower.tri(m1)]<- NA; m1
m2<-matrix(9:18, 3, 3);lower.tri(m2);m2[lower.tri(m2)]<- NA; m2
m3<-matrix(18:27, 3, 3);lower.tri(m3);m3[lower.tri(m3)]<- NA; m3
m4<-matrix(27:36, 3, 3);lower.tri(m4);m4[lower.tri(m4)]<- NA; m4
L<-list(m1,m2, m3, m4); L
das obere Dreieck auf die untere Dreieck der Matrix Sie verwenden können, kopieren:
M <- m1
for(i in 1:nrow(M)) {for(j in 1:i) {M[i,j]=M[j,i] }}
M
jedoch Ich möchte das obere Dreieck nach unten für jede Matrix in der Liste "L" kopieren.
... und das untere Dreieck oberes Dreieck zu kopieren: m [upper.tri (m)] <- t (m) [ obere.tri (m)] –