相关疑难解决方法(0)

可以存储在double中的最大整数

什么是最大的"非浮动"整数,可以存储在IEEE 754 double类型而不会丢失精度?

floating-point double types ieee-754

208
推荐指数
7
解决办法
16万
查看次数

R中的整数溢出是什么?它怎么会发生?

我有一些计算正在进行并得到以下警告(即没有错误):

Warning messages:
1: In sum(myvar, na.rm = T) :
Integer overflow - use sum(as.numeric(.))
Run Code Online (Sandbox Code Playgroud)

在这个线程中,人们声明整数溢出根本不会发生.要么R不是过于现代,要么是不对.但是,我应该在这做什么?如果我使用as.numeric警告暗示我可能不会解释信息丢失的事实.myvar从.csv文件中读取,所以不应该知道需要更大的字段吗?它已经切断了什么吗?

什么是的最大长度integer或者numeric?你会建议任何其他字段类型/模式吗?

编辑:我跑:

R版本2.13.2(2011-09-30)平台:R Studio中的x86_64-apple-darwin9.8.0/x86_64(64位)

integer r numeric overflow

34
推荐指数
3
解决办法
4万
查看次数

在 R 中使用整数值代替数值(例如 1L 与 1)作为常量的好处

在 R 源代码中,大多数(但不是全部)函数使用整数值作为常量:

colnames <- function(x, do.NULL = TRUE, prefix = "col")
{
    if(is.data.frame(x) && do.NULL)
    return(names(x))
    dn <- dimnames(x)
    if(!is.null(dn[[2L]]))
    dn[[2L]]
    else {
        nc <- NCOL(x)
    if(do.NULL) NULL
        else if(nc > 0L) paste0(prefix, seq_len(nc))
        else character()
    }
}
Run Code Online (Sandbox Code Playgroud)

R语言定义说:

在大多数情况下,整数和数值之间的差异并不重要,因为 R 在使用数字时会做正确的事情。然而,有时我们想显式地为常量创建一个整数值。

  • 在哪些情况下需要强制常量使用整数值而不是简单地使用数值?例如,例如 1 会失败,但例如 1L 不会失败的示例是受欢迎的。
  • 相反,在哪些情况下不需要使用整数值(例如交互式使用与编程、使用常量索引等)?

问题是关于良好实践和基本原理,而不是关于“L”符号本身整数类和数字类之间的差异比较数字

integer interactive r function numeric

16
推荐指数
1
解决办法
796
查看次数