“=”和“<”之间是否存在技术差异?

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

我想知道R中的赋值运算符"=""<-"之间是否存在技术差异。因此,如果我使用以下内容,是否会有所不同?

例1: a = 1a <- 1

例2: a = c(1:20)a <- c(1:20)

谢谢你的帮助

斯文


就在这里。 这就是'='的帮助页面所说的内容:

运算符< - 和=分配到它们被评估的环境中。 运算符< - 可以在任何地方使用,而运算符=只允许在最高级别(例如,在命令提示符处键入的完整表达式中)或作为表达式支撑列表中的子表达式之一。

使用“可以使用”帮助文件意味着在这里分配一个对象。 在函数调用中,您不能使用=因为=表示在其中分配参数。

基本上,如果您使用<-那么您分配一个变量,您可以在当前环境中使用该变量。 例如,考虑:

matrix(1,nrow=2)

这只是一个2行矩阵。 现在考虑:

matrix(1,nrow<-2)

这也给了你一个两行的矩阵,但是现在我们也有一个叫做nrow的对象,其值为2! 发生的事情是,在第二次使用时,我们没有分配参数nrow 2,我们分配了一个对象nrow 2并将其发送给matrix的第二个参数,这恰好是nrow。

编辑:

至于编辑的问题。 两者都是一样的。 使用=<-会引起很多讨论,哪一个最好。 许多风格指南提倡<-我同意这一点,但是确实要保留<-作业的空间,否则他们会变得很难解释。 如果你不使用空格(你应该,除了在twitter上),我更喜欢= ,并且从不使用->

但只要你在选择中保持一致,真的不重要。 使用=在一行和<-在非常难看代码的下一结果。

链接地址: http://www.djcxy.com/p/73881.html

上一篇: Is there a technical difference between "=" and "<

下一篇: Using auto in CSS calc