我正在使用R 2.8.1,可以同时使用=
和<-
作为变量赋值运算符。他们之间有什么区别?我应该使用哪一个?
答案 0 :(得分:56)
来自here:
运算符&lt; - 和=分配到评估它们的环境中。运算符&lt; - 可以在任何地方使用,而operator =只允许在顶层(例如,在命令提示符下键入的完整表达式中)或作为支撑表达式列表中的子表达式之一。
答案 1 :(得分:15)
阅读罗伯特和卡塞拉的“用R介绍蒙特卡罗方法”:
“赋值运算符为=
,不要与==
混淆,后者是相等的布尔运算符。较旧的赋值运算符为<-
,并且出于兼容性原因,它仍然保持功能,但应该忽略它以确保更清晰的编程。
(正如Spector,P。(2009)所指出的那样。'数据操作与R' - 第8.7节。,例外是使用system.time
时,因为=然后用于识别关键字)
在布尔值中找到赋值运算符&lt; - 的误导性特征 表达式,如
> if (x[1]<-2) ...
应该测试x [1]是否小于-2但结束 将2分配给x [1],擦除其当前值!另请注意使用
> if (x[1]=-2) ...
错误地而不是(x [1] == - 2)具有相同的结果。“