是否无法将文本文件中的long double
读入R?我看过bit64
,gmp
,float
等软件包,但它们似乎都在内部管理大型双打。
请注意,我不是指显示(“ options(digits=22)
”)问题。.我想读取类似0.0664104763418435999999638041924043818653444759547710418701171875
的数字并对其执行操作。如果无法确认我已通过打印将完整的号码读入会话中,则应该能够加载并将其保存到文件中而不会降低精度。可能不可能吗?
在Fedora 29 64位计算机上运行。
答案 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