R中L的澄清

use*_*seR 26 integer r numeric

L在R的踪迹是:

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
Run Code Online (Sandbox Code Playgroud)

我尝试使用?L没有成功.

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

Hen*_*rik 36

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

  • R语言定义中, 您会发现:"我们可以使用L后缀来限定任何数字,以使其成为显式整数"
  • 来自?NumericConstants:"[...]所有其他数字常量以数字或句点开头,并且是十进制或十六进制常量,可选地后跟L"

    "紧接着的数字常量L在可能的情况下被视为整数(并且如果它包含"."则会发出警告)."

    "您可以将" 0x"前缀与" L"后缀"结合使用.

  • 您还可以在此处查看 "两种重新访问"部分中有关浮点与整数的示例 ." L在数字之后放置资本(如"长"),使R将其创建为整数".
  • 没有具体说明L,但在浮点与整数上下文中总是相关的是FAQ7.31:"为什么R不认为这些数字相等?".

讨论效率的线程L:

R-help上的线程,其他人一直在努力寻找文档L,可能解释为什么这封信L,以及为什么Lvs as.integer在效率方面.

  1. 10到10L之间的差异

    第一威廉邓拉普:

    为什么不10I为整数?也许是因为" I"和" l"看起来太相似,也许是因为" i"和" I"声音太相似了." L"并不意味着"长":整数长度为4个字节.

    然后Brian Ripley:

    实际上它确实如此:这个符号可以追溯到16位计算机上的C语言,其中整数是16位而long是32位(而R没有'long'类型).

    R中的这个作者从来没有解释过为什么他选择了这个符号,但它比在解析时完成强制更as.integer(10),更有效率.

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

  3. R历史:为什么'L; 在整数常量的后缀字符'L'?

  4. 这里有更多讨论.