【发布时间】:2013-01-29 18:06:29
【问题描述】:
我使用的函数需要输入为整数。
所以我一直在尝试read up on making things integers:
y <- 3.14
as.integer(y)
[1] 3 # all cool
一切都好,但如果我有
x <- 1639195531833
as.integer(x)
[1] NA
Warning message:
NAs introduced by coercion
我打开了options(digits = 15),这让我感到困惑,为什么它不起作用,但在干净的会话中,它一定与科学记数法有关。
我也试图欺骗 R 但它不高兴:
as.integer(as.character(x))
[1] 2147483647
Warning message:
inaccurate integer conversion in coercion
我如何打败科学记数法并得到我的整数?
【问题讨论】:
-
参见
?as.integer,它告诉您整数被限制在大约 +/-2*10^9。 -
算了。 R 中的整数仍然是 32 位的,所以你不能有大于大约 1.2E9 的整数。如果传言属实,这可能会在下一个主要的 R 版本中改变。
-
哎哟。这需要大量的重命名。谢谢大家,我应该删除这个Q还是你想要一个答案?
-
这是一个有效的问题,现在是一个有效的答案,所以我想说
标签: r