I a имеет симметричную матрицу (например, M <- matrix(1:4, ncol = 2)
), и я хочу установить диагональные элементы на 0
. Есть ли более умный способ, чем diag(diag(M), ncol = ncol(M))
?Сделать симметричную матрицу диагональной матрицей в R
Примечание: diag
не поддерживает usssage из diag(M, ncol = ncol(M))
и не имеет опции, как diag(M, as.matrix = TRUE)
и т.д.
'upper.tri (M) <- 0; lower.tri (M) <- 0' Первое, что я мог придумать. –
Ваше название немного вводит в заблуждение. Я бы предложил положить нули с диагонали матрицы. – DJJ
Я не думаю, что это вводит в заблуждение. Диагональная матрица - это матрица, где недиагональные элементы равны нулю. – norbertk