0
我創建了1000行1000列的矩陣(matA),我想計算這個矩陣的冪。它可以很好地計算矩陣的3次方。但是,當我問來計算它的4次方,它給出了一個警告消息說,如何解決r中的整數溢出?
「在馬塔馬塔* * *馬塔馬塔:來港的整數溢出產生的」
我怎樣才能解決這個問題呢?
我創建了1000行1000列的矩陣(matA),我想計算這個矩陣的冪。它可以很好地計算矩陣的3次方。但是,當我問來計算它的4次方,它給出了一個警告消息說,如何解決r中的整數溢出?
「在馬塔馬塔* * *馬塔馬塔:來港的整數溢出產生的」
我怎樣才能解決這個問題呢?
因爲你沒舉個例子:
set.seed(101)
z <- matrix(rnorm(1e6),1e3)
z2 <- round(z)*1000000
storage.mode(z2) <- "integer"
如果你真的想要一個矩陣功率(如z2 %*% z2 %*% z2 %*% z2
),最好使用Matrix
或expm
包。
library(expm)
z4C <- z2 %^% 4
在另一方面,如果你真的想要的elementwise產品
z4D <- z2*z2*z2*z2
## Warning message "NAs produced"
所有你需要做的是轉換爲數值。
storage.mode(z2) <- "numeric"
z4E <- z2*z2*z2*z2 ## fine
將整數轉換爲數字? – Psidom
你想要像在t(mat)%*%mat中一樣使用elemetwise功率或矩陣功率嗎? –
需要矩陣功率。我試過數字轉換。但它給出了相同的警告。 –