将长双读入R

时间:2019-04-18 07:13:12

标签: r long-double

是否无法将文本文件中的long double读入R?我看过bit64gmpfloat等软件包,但它们似乎都在内部管理大型双打。

请注意,我不是指显示(“ options(digits=22)”)问题。.我想读取类似0.0664104763418435999999638041924043818653444759547710418701171875的数字并对其执行操作。如果无法确认我已通过打印将完整的号码读入会话中,则应该能够加载并将其保存到文件中而不会降低精度。可能不可能吗?

在Fedora 29 64位计算机上运行。

1 个答案:

答案 0 :(得分:1)

以字符形式读入。 read.table具有参数colClasses,以确保将数据解释为哪种类型。然后,您可以转换为所需的任何多精度类。例如使用Rmpfr

library(Rmpfr)
x <- "0.0664104763418435999999638041924043818653444759547710418701171875"
mpfr(x)
1 'mpfr' number of precision  216   bits 
[1] 0.0664104763418435999999638041924043818653444759547710418701171875

# long double has 80 precision bits
mpfr(x,80)
1 'mpfr' number of precision  80   bits 
[1] 0.0664104763418435999999638