r - Linux 上整数溢出 + R 产生的 NA

标签 r

我在基于 UNIX 的系统上运行 R 脚本,该脚本包含大数的乘法,因此结果是整数溢出的 NA,但是当我在 Windows 上运行相同的脚本时,不会出现此问题。

但我应该让脚本在桌面(Unix)上整夜工作。

这个问题有什么解决办法吗?

谢谢

for(ol in seq(1,nrow(yi),by=25))
    {
    for(oh in seq(1,nrow(yi),by=25))
 {

        A=(N*(ol^2)) + ((N*(N+1)*(2*N+1))/6) -(2*ol*((N*N+1)/2)) + (2*N*ol*(N-oh+1)) + ((N-oh+1)*N^2) + (2*N*(oh-N-1)*(oh+N))


}
}

    with :
N=16569 = nrow(yi)

但是第一轮不是在unix上计算的。

最佳答案

您可以将整数转换为浮点数以便使用浮点数学进行计算吗?

例如:

> x=as.integer(1000000)
> x*x
[1] NA
Warning message:
In x * x : NAs produced by integer overflow
> x=as.numeric(1000000)
> x*x
[1] 1e+12

顺便说一句,尚不完全清楚为什么警告会出现在一种环境中而不是另一种环境中。我首先认为 R 的 32 位和 64 位版本可能分别使用 32 位和 64 位整数,但是 doesn't appear to be the case .就警告的显示方式而言,您的两个环境的配置是否相同?

关于r - Linux 上整数溢出 + R 产生的 NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6042728/

相关文章:

r - 将价格数据聚合到 R data.table 中的不同时间范围

R 编程我需要帮助找到 2 列列表的总和

r - 不同 facet_grids 的不同颜色

r - 如何计算特定范围内的数字数量

r - 如何将变量名传递给函数中的参数

使用 map/ifelse/when 嵌入 xts 对象的 R purrr 数据操作

r - ggplot2 中的scale_colour_gradient 与scale_fill_gradient

html - 从 R 中多个网页的表格中抓取数据(足球运动员)

r - 如何计算更快的月加权平均值

r - R 中 dplyr 汇总数据帧的算术