答案 0 :(得分:7)
不,它们不完全相同:=
运算符不能在<-
可以使用的任何地方使用。
运算符&lt; - 和=分配到评估它们的环境中。运算符&lt; - 可以在任何地方使用,而operator =仅允许在顶层(例如,在命令提示符下键入的完整表达式中)或者作为支撑的表达式列表中的子表达式之一。
范围也有差异。有关详细信息,请参阅this answer。
哪个更好取决于你问的是谁。
阅读罗伯特和卡塞拉的“用R介绍蒙特卡罗方法”:
“赋值运算符是=,不要与==混淆,这是相等的布尔运算符。较旧的赋值运算符是&lt; - 并且出于兼容性原因,它仍然保持功能,但应该忽略它确保更清晰的编程。(正如Spector,P。(2009)所指出的那样。'数据操作与R' - 第8.7节。,例外是当使用system.time时,因为=然后用于识别关键字)
另一方面,Google's R style guide建议使用<-
:
分配
使用&lt; - ,not =进行作业。
不可强>:
x < - 5<强> BAD 强>:
x = 5