我在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]
到底是什么?有进一步使用它的任何例子吗?
答案 0 :(得分:33)
此答案是上述评论的摘要。它基本上只是指向各种帮助文本的指针,但从OP对?L
的尝试中可以明显看出,找到相关的帮助文本并不总是那么容易。我希望在L
中找到关于?as.integer
的内容,但不是。希望这个答案比一堆评论更有用。
L
后缀来限定任何数字
旨在使其成为一个显式整数“从?NumericConstants
:“[...]所有其他数字常量开始
带有数字或句点,可以是十进制或十六进制
常数可选地后跟L
“
“紧跟L
后面的数字常量被视为a
尽可能使用整数(如果包含a,则显示警告)
”。 “)。”
“您可以将”0x
“前缀与”L
“后缀相结合。
L
(如”长“中)放在一个数字之后,使R将其创建为
一个整数“。L
,而是始终与浮点相关
与整数上下文是FAQ7.31:“为什么R不认为这些数字相等?”。 讨论L
R-help上的主题,其他人一直在努力寻找有关L
的文档,可能会解释为什么字母L
以及为什么L
vs as.integer
效率条款。
威廉邓拉普先生:
为什么
10I
不是整数?也许是因为“I
”和“l
”看起来太相似,可能是因为“i
”和“I
”听起来太相似了。 “L
”并不意味着“长”:整数长度为4个字节。
然后Brian Ripley:
实际上确实如此:这个符号可以追溯到16位的C语言 整数为16位且长整数为32位的计算机(R具有 没有'长'类型)。
R的作者从未解释过他选择符号的原因,但是 它比
as.integer(10)
更短,而且强度更强 在解析时完成。
The L Word
讨论不同情况下的效率,并提供一些基准。
R history: Why 'L; in suffix character ‘L’ for integer constants?
更多讨论here。