第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

控制R打印輸出中的十進制數(shù)

控制R打印輸出中的十進制數(shù)

慕桂英546537 2019-07-13 09:42:12
控制R打印輸出中的十進制數(shù)在R中有一個選項可以控制數(shù)字顯示。例如:options(digits=10)應該在R會話結(jié)束前以10位數(shù)給出計算結(jié)果。在R的幫助文件中,位參數(shù)的定義如下:數(shù)字:在打印數(shù)字值時控制要打印的數(shù)字數(shù)。這只是一個建議。有效值為1...22默認7因此,它說這只是一個建議。如果我喜歡總是顯示10位數(shù)字,而不是更多或更少呢?我的第二個問題是,如果我喜歡顯示超過22位數(shù)字,也就是說,為了更精確的計算,比如100位數(shù),該怎么辦?是否可以使用基R,或者我是否需要一個額外的包/功能?編輯:多虧了杰米的建議,我試著sprintf("%.100f",pi)它給了[1] "3.1415926535897931159979634685441851615905761718750000000000000000000000000000000000000000000000000000"它有48個小數(shù)。這是R所能處理的最大極限嗎?
查看完整描述

2 回答

?
瀟湘沐

TA貢獻1816條經(jīng)驗 獲得超6個贊

之所以它只是一個建議,是因為您可以很容易地編寫一個忽略選項值的打印函數(shù)。內(nèi)置的打印和格式化功能確實使用options值作為默認值。

至于第二個問題,因為R使用的是有限精度的算術(shù),所以你的答案不能精確到小數(shù)點15或16位以上,所以一般不需要更多。這個GMPrcdd包處理多個精確算術(shù)(通過與GMP庫的間隔),但這主要是與大整數(shù)相關(guān),而不是更多的小數(shù)位。

數(shù)學楓樹將允許你給出你心中想要的多少小數(shù)位。

編輯:
考慮小數(shù)位和重要數(shù)字之間的差異可能是有用的。如果你做的統(tǒng)計測試依賴于第15個重要數(shù)字以外的差異,那么你的分析幾乎肯定是垃圾。

另一方面,如果您只是處理非常小的數(shù)字,這就不是什么問題,因為R可以處理小到.Machine$double.xmin(通常為2E-308)。

比較這兩種分析。

x1 <- rnorm(50, 1, 1e-15)y1 <- rnorm(50, 1 + 1e-15, 1e-15)t.test(x1, y1)  
#Should throw an errorx2 <- rnorm(50, 0, 1e-15)y2 <- rnorm(50, 1e-15, 1e-15)t.test(x2, y2)  #ok

在第一種情況下,數(shù)字之間的差異只出現(xiàn)在許多重要數(shù)字之后,因此數(shù)據(jù)“幾乎不變”。在第二種情況下,雖然數(shù)字之間的差異大小是相同的,但與數(shù)字本身的大小相比,它們是很大的。


如e3bo所述,您可以使用Rmpfr包裹。

mpfr("3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825")

它們比常規(guī)的(雙精度)更慢,內(nèi)存也更密集。numeric向量,但是如果你有一個條件差的問題或不穩(wěn)定的算法的話,它是有用的。


查看完整回答
反對 回復 2019-07-13
  • 2 回答
  • 0 關(guān)注
  • 577 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號