我有四个20位数字字符。
我想将字符转换为数字。
我只是使用as.numeric函数进行了转换。
但是四个字符都一样。
为什么?
我需要数字。有办法吗?

tmp <- c("11240690100051000001", "11240690100051000002", "11240690100051000003", "11240690100051000004")
tmp1 <- as.numeric(tmp)

tmp1[1] == tmp1[2]
[1] TRUE
tmp1[1] == tmp1[3]
[1] TRUE
tmp1[1] == tmp1[4]
[1] TRUE

最佳答案

您可以使用Rmpfr包:

tmp <- c("11240690100051000001",
 "11240690100051000002", "11240690100051000003",
"11240690100051000004")
library("Rmpfr")
as.bigz(tmp)
##  Big Integer ('bigz') object of length 4:
## [1] 11240690100051000001 11240690100051000002 11240690100051000003
## [4] 11240690100051000004


...但这可能会严重限制您随后可以使用这些值进行的操作。关于为什么为什么需要这些数字/计划使用它们的问题的更多上下文可能会导致更有用的答案...

关于r - 如何将20位字符转换为数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28741775/

10-12 13:57