R中L的澄清

时间:2014-03-05 07:28:54

标签: r

我在R中L的踪迹是:

c<-1:10
c
# [1]  1  2  3  4  5  6  7  8  9 10
c[-1]
# [1]  2  3  4  5  6  7  8  9 10
c[-2]
# [1]  1  3  4  5  6  7  8  9 10
c[-1L]
# [1]  2  3  4  5  6  7  8  9 10
c[-2L]
# [1]  1  3  4  5  6  7  8  9 10

我尝试使用?L但没有成功。

x[<n>L]到底是什么?有进一步使用它的任何例子吗?

1 个答案:

答案 0 :(得分:33)

此答案是上述评论的摘要。它基本上只是指向各种帮助文本的指针,但从OP对?L的尝试中可以明显看出,找到相关的帮助文本并不总是那么容易。我希望在L中找到关于?as.integer的内容,但不是。希望这个答案比一堆评论更有用。

  • R language definition 你会发现:“我们可以使用L后缀来限定任何数字 旨在使其成为一个显式整数“
  • ?NumericConstants:“[...]所有其他数字常量开始 带有数字或句点,可以是十进制或十六进制 常数可选地后跟L

    “紧跟L后面的数字常量被视为a 尽可能使用整数(如果包含a,则显示警告) ”。 “)。”

    “您可以将”0x“前缀与”L“后缀相结合。

  • 您可能还会发现检查浮点上的示例很有用 “两种重访”一节中的整数与整数 here。 “将资本L(如”长“中)放在一个数字之后,使R将其创建为 一个整数“。
  • 不是专门针对L,而是始终与浮点相关 与整数上下文是FAQ7.31:“为什么R不认为这些数字相等?”。

讨论L

的效率的主题

R-help上的主题,其他人一直在努力寻找有关L的文档,可能会解释为什么字母L以及为什么L vs as.integer效率条款。

  1. Difference between 10 and 10L

    威廉邓拉普先生:

      

    为什么10I不是整数?也许是因为“I”和“l”看起来太相似,可能是因为“i”和“I”听起来太相似了。 “L”并不意味着“长”:整数长度为4个字节。

    然后Brian Ripley:

      

    实际上确实如此:这个符号可以追溯到16位的C语言   整数为16位且长整数为32位的计算机(R具有   没有'长'类型)。

         

    R的作者从未解释过他选择符号的原因,但是   它比as.integer(10)更短,而且强度更强   在解析时完成。

  2. The L Word
    讨论不同情况下的效率,并提供一些基准。

  3. R history: Why 'L; in suffix character ‘L’ for integer constants?

  4. 更多讨论here