当您使用它们在函数调用中设置参数值时,赋值运算符的差异会更明显。例如:
median(x=1:10)
X
##错误:找不到对象'x'
在这种情况下,x在函数范围内声明,因此它不存在于用户工作空间中。
median(x < - 1:10)
X
## [1] 1 2 3 4 5 6 7 8 9 10
在这种情况下,x在用户工作区中声明,因此可以在函数调用完成后使用它。
R社区普遍倾向于使用< - for assignment(功能签名除外)与(非常)旧版本的S-Plus兼容。
X <-3
#这是否意味着分配?
x < - 3
#小于等于
x <-3
大多数R IDE都有键盘快捷键,使< - 更容易输入。 Ctrl + = in Architect,Alt + - 在RStudio中(Option + - 在macOS下),Shift + - (下划线)在emacs + ESS中。
如果你更喜欢写= < - 但是想对公开发布的代码使用更常见的赋值符号(例如在CRAN上),那么你可以使用formatR包中的一个tidy_ *函数来自动替换=和< - 。
library(formatR)
tidy_source(text =“x = 1:5”,arrow = TRUE)
## x < - 1:5
问题的答案“为什么x < - y = 5会抛出错误而不是x < - y < - 5?”, R的语法包含许多模糊的情况,必须以某种方式解决。解析器选择以不同的顺序解析表达式的位,具体取决于是否使用了=或< - 。
网友评论