On 2024-12-04 7:38 a.m., Gerrit Eichner wrote:
Dear list,

is anyone aware of the following behavious of diag when used to replace
diagonals (plural!) of a matrix?

Small example: The following is documented and clearly to be expected:

A <- matrix(0, nrow = 5, ncol = 5)
diag(A) <- 1; A


BUT, what about the following? When executing the code of `diag<-` line
by line, it throws errors. So why does it work?

diag(A[-1, ]) <- 2; A

diag(A[-5, -1]) <- 3; A

diag(A[-5, -(1:2)]) <- 4; A


Could you show us the log of what you did that generated errors? The statement `diag(A[-1, ]) <- 2` is pretty complex; it involves two assignment functions (both `diag<-` and `[<-`), so you might have tried to execute the wrong thing.

Duncan Murdoch

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide https://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to