这只是一种风格偏好吗?
据我所知,它们是相同的。
我看到很多人更喜欢“更长”的<-
版本,我不知道为什么(也许远离=
和==
混淆?)
不,它们并不完全相同:=
运算符不能在任何可以使用的地方使用<-
。
运算符 <- 和 = 分配到评估它们的环境中。运算符 <- 可以在任何地方使用,而运算符 = 只允许在顶层(例如,在命令提示符下键入的完整表达式中)或作为表达式括号列表中的子表达式之一。
范围也有区别。有关更多详细信息,请参阅此答案。
哪个更好取决于你问谁。
阅读 Robert 和 Casella 的“用 R 介绍蒙特卡洛方法”:
“赋值运算符是 =,不要与 == 混淆,后者是用于相等的布尔运算符。较旧的赋值运算符是 <- 并且出于兼容性原因,它仍然可以使用,但应该忽略它以确保更清晰的编程.(正如 Spector, P. (2009) 所指出的那样。“使用 R 进行数据操作”-第 8.7 节。使用 system.time 时例外,因为 = 用于识别关键字)
另一方面,谷歌的 R 风格指南推荐使用<-
:
任务
使用 <-,而不是 =,进行赋值。
好:
x <- 5坏:
x = 5