看板 Statistics 關於我們 聯絡資訊
------------------------------------------------------------------------ [軟體程式類別]: R [程式問題]: 資料處理 [軟體熟悉度]: 高(1年以上) [問題敘述]: 想請問板上的各位, 小弟最近在處理資料時, 經常會使用到Matrix中之兩個元素相乘之運算, 但會遇到採用Matrix元素相乘溢位狀況(大小約400000*30000), 而直接相乘卻不會的狀況? 有人遇過這種狀況嗎? [程式範例]: 我直接將一串程式附在這裡, 比較能夠說明這奇怪的問題。 > ComorTable[276,276] # 第[276,276]欄位 [1] 402697 > ComorTable[174,174] [1] 33187 > ComorTable[276,276]*ComorTable[174,174] # 兩元素相乘產生Overflow [1] NA Warning message: In ComorTable[276, 276] * ComorTable[174, 174] : 整數向上溢位產生了 NA > 402697*33187 #直接算卻可以有結果?? [1] 13364305339 想麻煩大家協助解決這個問題, 感謝大家。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.44.210.173 ※ 編輯: XYH 來自: 114.44.210.173 (06/01 23:15)
memphis:integer 換成 double 06/02 00:31
clickhere:ComorTable <- as.double(ComorTable) 06/02 02:25
XYH:我今天到辦公室測機台,真的可以耶,謝謝大家^^ 06/02 23:40
XYH:不過我有一點問題,double是連整數位一次提昇嗎?因為找不到 06/02 23:40
XYH:相關資料,所以有點好奇~ 06/02 23:41
clickhere:google: float point 06/03 00:04
clickhere:這是計算機本身的問題,與R無關.它存在極小的誤差,但 06/03 00:07
clickhere:輸出時R把它乎略了. 06/03 00:08