在 R 中,`=` 和 `<-` 有什么区别?

32 浏览
0 Comments

在 R 中,`=` 和 `<-` 有什么区别?

这个问题已经有了答案“=”和“<-”分配运算符之间有什么区别?

我正在使用R 2.8.1,可以使用=<-作为变量分配运算符。 它们之间的区别是什么? 我应该使用哪一个?

admin 更改状态以发布 2023年5月23日
0
0 Comments

来自Robert和Casella的《介绍R中的蒙特卡罗方法》:

赋值运算符是=,不要与相等的布尔运算符==混淆。一个更老的赋值运算符是<-,由于兼容性的原因,它仍然有效,但为了保证更清晰的编程,应该忽略它。
(正如Spector,P。(2009)。《R中的数据处理》第8.7节提到的,当使用system.time时,用=来识别关键字)

赋值运算符<-的一个误导性特征出现在布尔表达式中,例如

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

它应该测试x[1]是否小于-2,但最终会将2分配给x[1],抹去其当前值!还要注意,错误地使用

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

而不是(x [1] == -2)会有同样的后果。

0
0 Comments

来自这里

运算符<-和=会将值赋给它们所在的环境。运算符<-可以在任何地方使用,而运算符=只允许在顶层使用(例如在命令提示符下键入的完整表达式)或作为表达式列表中的某个子表达式。

0