2
如何將一個向量轉換爲矩陣(二維數組),只填充第一個diagonale?如何將矢量變成具有對角填充的交叉矩陣?
x <- 1:3
y <- array(dim=c(3,3))
y[x,x] <- x
> y
[,1] [,2] [,3]
[1,] 1 1 1
[2,] 2 2 2
[3,] 3 3 3
,從而y,而不是變成:
[,1] [,2] [,3]
[1,] 1 NA NA
[2,] NA 2 NA
[3,] NA NA 3
這聞起來像有一個簡單的解決方案,但我不能看到它。
感謝
嗨,這很好,我甚至可以用「0」填充來生活,所以只是錯過了diag(x)命令。謝謝! – szeta
或少一點代碼打高爾夫將是'res < - 矩陣(NA,長度(x),長度(x)); diag(res)<-x' –
@szeta如果你可以用零代替NAs,你可以創建一個稀疏矩陣, – Roland