Um die "diagonalen" Elemente auf Null zu setzen, haben Sie bereits eine Antwort erhalten, aber ich frage mich, ob Sie auf etwas allgemeineres gehofft haben. Die Gründe für mangelnden Erfolg mit diesem Code waren zweifach: Die Konstruktion Ihrer Indizes war fehlerhaft und die Indexierung war falsch. Das wäre gelungen:
%Vor%Aber der Rückgriff auf Schleifen in R wird im Allgemeinen als letzter Ausweg betrachtet (manchmal aus den falschen Gründen.) Es gibt eine viel kompaktere Art, die gleiche "Schleifen" -Operation durchzuführen, und sie verallgemeinert weit mehr als nur die Diagonale / p> %Vor%
Wenn Sie die Subdiagonale auf Null setzen möchten, verwenden Sie einfach:
%Vor%Sie können vermeiden, die zusätzlichen Zeilen- und Spaltenmatrizen mit diesem zu erzeugen:
%Vor%