Bir vektör verildiğinde, vektörün elemanları diyagonal olan ve sıralı cumsum elemanları olan bir kare matris oluşturmak istiyorum.Çizgisel matris cumsum vektöründen hesapla
Örnek vektör:
vec <- c(1, 2, 3, 4)
Gerekli çıkışı:
diagSum <- function(vec) {
mat <- diag(vec)
for (i in seq(nrow(mat))) {
for (j in seq(i, ncol(mat))) {
if (j > i) {
mat[i, j] <- mat[i, j - 1] + mat[j, j]
}
}
}
mat
}
ne olacağını R yönlü (görmemeye: Artık
[,1] [,2] [,3] [,4]
[1,] 1 3 6 10
[2,] 0 2 5 9
[3,] 0 0 3 7
[4,] 0 0 0 4
, ben döngü fonksiyonu için çift kullanıyorum Bunu yapmak)?
Ha, daha hızlı lower.tri çözeltisiyle vardı :) –