[問題] 型別轉換?

作者: ljta (ljta)   2014-05-22 19:42:33
文章分類提示:
- 問題: 當你想要問問題時,請使用這個類別
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
使用者(已經有用R 做過不少作品)
[問題敘述]:
我遇到的問題如程式範例寫的那樣,想了解一下這是怎麼回事?
煩請對這部份熟悉原因的人指教。謝謝!
[程式範例]:
> length(coefVec)^(1/3)
[1] 32
> as.integer(length(a)^(1/3))
[1] 31
> as.integer((32*32*32)^(1/3))
[1] 31
> as.integer(length(a))^(1/3)
[1] 32
作者: andrew43 (討厭有好心推文後刪文者)   2014-05-22 20:33:00
看起來很可怕。我認為型別轉換能免就免……用round()吧。
作者: yanchenglin (LIN)   2014-05-22 21:31:00
數值法計算誤差問題,在R把小數點位數開到最大即可知
作者: yanchenglin (LIN)   2014-05-22 21:32:00
options(digits=22);(32*32*32)^(1/3) !=32
作者: yanchenglin (LIN)   2014-05-22 21:33:00
R一般使用digits=7 有興趣可以查根號和立方根的數值法
作者: yanchenglin (LIN)   2014-05-22 21:34:00
看到IP發現自己所上的!! 同學or學長姐or教授 好 XD
作者: obarisk (OSWALT)   2014-05-23 06:27:00
查integer的說明,他有明說用的是trunc()
作者: obarisk (OSWALT)   2014-05-23 06:28:00
也有說,可能用round是比較適合的!
作者: ljta (ljta)   2014-05-23 09:12:00
謝謝樓上

Links booklink

Contact Us: admin [ a t ] ucptt.com