gpt4 book ai didi

r - R中是否有数据类型 "Decimal"?

转载 作者:行者123 更新时间:2023-12-03 15:01:17 33 4
gpt4 key购买 nike

我读取以 DECIMAL 格式存储的数据来自 MySQL 表。我想对 R 中的这些数字进行计算。

我曾经使用 as.numeric() 将它们转换为数字表示。 ,但文档说:

numeric is identical to double (and real).



但是 R 中还有数据类型 Decimal 吗? (没有舍入错误的数据类型,...)

这是一个关于舍入错误问题的简单示例:
numbersStrings = c("0.1", "0.9")
numbersNumeric = as.numeric(numbersStrings)
numbersMirror = c(numbersNumeric, 1-numbersNumeric)

str(numbersMirror)

numbersMirror
unique(numbersMirror) # has two times 0.1 ...

sprintf("%.25f", numbersMirror)
sprintf("%.25f", unique(numbersMirror)) # ... because there was a rounding error

最佳答案

您可以创建自己的:

d <- structure( list(i=589L,exp=2L), class="decimal" )
print.decimal <- function( x, ...) print( x$i * 10^(-x$exp) )
> d
[1] 5.89

实际上,一些大数字包也可能适用于此,因为它们使用类似的表示......

关于r - R中是否有数据类型 "Decimal"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16960167/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com