我必须计算R中两个长变量之间的差异。
最初,它被存储为文本。但是当我尝试将它们转换为数字或双倍来计算差异时,R无法识别出差异为1
。
testVariable1 = as.numeric("233203300000000001")
testVariable2 = as.numeric("233203300000000002")
testVariable2 - testVariable1
结果:
[1] 0
我该怎么做才能解决这个问题?
提前致谢!
答案 0 :(得分:3)
library(gmp)
as.bigz("233203300000000002")-as.bigz("233203300000000001")
Big Integer ('bigz') :
[1] 1
答案 1 :(得分:2)
您可以尝试使用bit64
包:
library(bit64)
##
testVariable1 <- as.integer64("233203300000000001")
testVariable2 <- as.integer64("233203300000000002")
##
R> testVariable2 - testVariable1
#integer64
#[1] 1
R> as.numeric(testVariable2 - testVariable1)
#[1] 1