可能重复:
R中的赋值运算符:'='和'< - '
我想知道赋值运算符"="和"<-"R 之间是否存在技术差异.所以,如果我使用它会有什么不同:
例1:a = 1或a <- 1
例2:a = c(1:20)或a <- c(1:20)
谢谢你的帮助
斯文
Sac*_*amp 22
就在这里.这是帮助页面'='说的:
运算符< - 和=分配到评估它们的环境中.operator < - 可以在任何地方使用,而operator =只允许在顶层(例如,在命令提示符下键入的完整表达式中)或作为支撑表达式列表中的子表达式之一.
使用"可以使用"帮助文件意味着在此处分配对象.在函数调用中,您无法分配对象,=因为=在那里分配参数.
基本上,如果您使用,<-则指定一个可以在当前环境中使用的变量.例如,考虑:
matrix(1,nrow=2)
Run Code Online (Sandbox Code Playgroud)
这只是一个2行矩阵.现在考虑:
matrix(1,nrow<-2)
Run Code Online (Sandbox Code Playgroud)
这也给你一个两行矩阵,但是现在我们还有一个被称为nrow2 的对象!发生的事情是,在第二次使用中我们没有分配参数nrow2,我们分配了一个对象nrow2并将其发送到第二个参数matrix,这恰好是nrow.
至于编辑过的问题.两者都是一样的.使用=或<-可以引起关于哪一个最好的讨论.许多风格指南都提倡<-并且我同意这一点,但确实保留了<-作业的空间,或者它们很难解释.如果你不使用空格(你应该,除了在推特上),我更喜欢=,永远不要使用->!
但是,只要你的选择一致,那么你使用什么并不重要.=在一行和<-下一行使用会产生非常难看的代码.