之所以它只是一個建議,是因為您可以很容易地編寫一個忽略選項值的打印函數(shù)。內(nèi)置的打印和格式化功能確實使用options
值作為默認值。
至于第二個問題,因為R使用的是有限精度的算術(shù),所以你的答案不能精確到小數(shù)點15或16位以上,所以一般不需要更多。這個GMP和rcdd包處理多個精確算術(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)定的算法的話,它是有用的。