R中L的澄清
我在R中的R中L的澄清,r,integer,numeric,R,Integer,Numeric,我在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 c这个答案是对上述评论的总结。它基本上只是指向各种帮助文本
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
c这个答案是对上述评论的总结。它基本上只是指向各种帮助文本的指针,但从OP对?L
的尝试中可以明显看出,要找到相关的帮助文本并不总是那么容易。我本想在?as.integer
中找到一些关于L
的信息,但没有。希望这个答案比一堆注释更有用
- 在
您会发现:“我们可以使用
L
后缀来限定任何数字
目的是使其成为一个显式整数“
- 从
?数值常量
:“[…]所有其他数值常量开始
带数字或句点,并且是十进制或十六进制
常量可选择后跟L
“
紧跟着L
的数值常量被视为
可能时为整数(如果包含
“)”
您可以将“0x
”前缀与“L
”后缀组合起来
- 您可能还会发现,检查有关浮点的示例也很有用
与“两种重温”一节中的整数相比
.
将大写字母
L
(如“long”)放在数字后面,使R成为
整数”
- 不是专门针对
L
,而是始终与浮点相关
与整数相比,上下文是:“为什么R不认为这些数字相等?”
讨论L
效率的线程:
在R-help上的线程中,其他人很难找到关于L
的文档,并可能解释为什么字母L
,以及为什么L
与相比在效率方面为.integer
威廉·邓拉普:
为什么不使用整数的10I
?也许是因为“I
”和“l
”看起来太相似,也许是因为“I
”和“I
”听起来太相似。“L
”并不表示“长”:整数的长度为4字节
然后布莱恩·里普利:
事实上是这样的:这种表示法起源于16位的C语言
整数为16位,长为32位的计算机(R为
没有“长”类型)
这本书的作者从未解释过他为什么选择这个符号,但是
它比as.integer(10)
短,并且比强制更有效
在分析时完成
讨论不同情况下的效率,以及一些基准
更多的讨论
您可以在第页阅读关于L
。14 . “我们可以使用L
后缀限定任何数字,以使其成为显式整数”。我想我会在?as.integer
上找到一些关于L
的信息,但是没有。这里有一个指向@Henrik所指内容的直接链接:谢谢!那么L主要是为了确保我们输入的数字类是整数而不是数字?L还有其他用法吗?谢谢你的总结。正如我发现的,许多内置函数,如table()也在源代码中使用了它。再次感谢。在书中,科林·吉列斯皮说,L
是字面意思。不过,本声明未提供其他参考。