是什么在R的`=`和`<-`区别? [重复] 是什么在R的`=`和`<-`区别?

2019-06-17 10:01发布

可能重复:
赋值运算符在R: '='和'< - '

我,使用R 2.8.1,并且可以同时使用=<-作为变量赋值运算符。 什么是它们之间的区别? 我应该使用哪一个?

Answer 1:

从这里 :

运营商< - 和=分配到它们被评估的环境。 操作者< - 可以在任何地方使用,而操作员=仅被允许在顶部电平(例如,在命令提示键入的完整表达),或作为在表达式的支撑列表中的子表达式中的一个。



Answer 2:

从“引进有R蒙特卡罗方法”阅读,由罗伯特和卡塞拉:

“赋值运算符是= ,不要与混淆== ,这是平等的布尔运算符的旧的赋值运算符。 <-和,出于兼容性考虑,它仍然是功能性的,但它应该被忽略,以确保清洁程序(正如斯佩克特,P。(2009)“数据操作与R”指出。 - 8.7节,使用时的例外是system.time ,由于=然后用来识别关键字)

赋值运算符<的误导性功能 - 在布尔表达式如发现

> if (x[1]<-2) ...

这是为了测试X是否[1]小于-2但最终分配2至x [1],擦除其当前值! 还需要注意的是使用

> if (x[1]=-2) ...

误代替(X [1] == - 2)具有相同的结果“。



文章来源: What's the difference between `=` and `<-` in R? [duplicate]