r - 什么时候应该明确指定整数?

标签 r integer

我经常编写 R 代码来测试向量的长度、数据框中的行数或矩阵的维数,例如 if (length(myVector) == 1) .在浏览一些基本的 R 代码时,我注意到在这样的比较中,值明确表示为整数,通常使用“L”后缀,例如 if (nrow(data.frame) == 5L) .显式整数有时也用于函数参数,例如来自 cor 的这些语句功能:x <- matrix(x, ncol = 1L)apply(u, 2L, rank, na.last = "keep") .什么时候应该在 R 中明确指定整数?不指定整数是否有任何潜在的负面影响?

最佳答案

使用 1L etc 在编程上是安全的,因为它的含义很明确,并且不依赖于任何转换等。

以交互方式编写代码时,很容易注意到错误并在此过程中进行修复,但是如果您正在编写包(即使是基础 R ),明确表示会更安全。

当您考虑相等时,使用浮点数会导致精度问题 See this FAQ .

显式指定整数可以避免这种情况,如 nrowlength ,以及 apply 的索引参数返回或需要整数。

关于r - 什么时候应该明确指定整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13558365/

相关文章:

c++ - 为什么未分配的 int 有值?

r - 在两列上使用 Rollapply

R -> kdb : Pass R data to kdb+ as binary objects

r - 将二进制向量转换为二进制矩阵

java - java中int变量的08和8之间的区别

algorithm - 大 O - n 总是输入的大小吗?

r - 从powerpoint幻灯片中提取图表数据

使用 R 中的 sprintf 等函数读取文本

c - 在c中将hhmmss拆分为hh mm ss

java - 从整数中删除第 n 个数字而不转换为字符串