r - R中的long/bigint/decimal等效数据类型

标签 r types

我们必须处理哪些数据类型选择?默认情况下,整数的大小似乎是32位,因此来自sql server的bigint数字以及通过py2从python传递的任何大数字都将受到干扰。

> 123456789123
[1] 123456789123
> 1234567891234
[1] 1.234568e+12

使用RODBC读取bigint值123456789123456789时,其返回值为123456789123456784(请参阅最后一位数字),而通过RJSONIO反序列化时,该数字将返回-1395630315L(这似乎是RJSONIO的附加错误/局限性)。
> fromJSON('[1234567891]')
[1] 1234567891
> fromJSON('[12345678912]')
[1] -539222976

实际上,我确实需要能够处理来自JSON的大量数据,因此在RJSONIO的限制下,除了找到更好的JSON库(目前似乎是非选择项)之外,我可能没有其他解决方法。我想听听专家对此以及一般情况的看法。

最佳答案

参见help(integer):

 Note that on almost all implementations of R the range of
 representable integers is restricted to about +/-2*10^9: ‘double’s
 can hold much larger integers exactly.

因此我建议您使用numeric(即“double”)-一个 double 数字。

关于r - R中的long/bigint/decimal等效数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2053397/

相关文章:

c++ - R 崩溃/中止使用带有 NA 输入的 Rcpp

javascript - 如何扩充在 Typescript 模块上声明但未导出的类

Scala将递归有界类型参数(F-bounded)转换为类型成员

c++ - 将非指针分配给指针? (在 C++ 中子类化指针类型?)

javascript - 如何隐藏R markdown中的代码语句?

r - 使用 R 提取 html_table 中每个单元格内的链接而不是字符

r - slam 软件包安装失败并出现 make 错误

r - 如何简化这个程序?

c++ - decltype(std::get<0>(tup)) 到底是什么?

javascript - React中颜色输入 : The format is "#rrggbb" where rr, gg,bb为两位十六进制数