在R中, "x" 和 'x' ,x <- 5 和 x = 5 是相同的吗?

20 浏览
0 Comments

在R中, "x" 和 'x' ,x <- 5 和 x = 5 是相同的吗?

这个问题已经有答案了

\"=\"和\"<-\"赋值运算符之间有什么区别?

使用两个之间似乎输出都是相同的。它们之间有什么区别吗?

x <- "hello"
x <- 'hello'
x = "hello"
x = 'hello'

所有的输出似乎都是相同的。它们之间有什么区别?什么时候使用它们?

谢谢!

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

在你的例子中,答案是肯定的。但请注意下面的注释:\n\n单引号和双引号用于分隔字符常量。它们可以互换使用,但双引号更受欢迎(并且字符常量以双引号形式打印),因此单引号通常只用于分隔包含双引号的字符常量。\n\n在继续之前,先来一点历史:当R语言(以及它之前的S语言)首次创建时,“<-”是唯一的赋值运算符选择。这是从语言APL中遗留下来的,其中箭头符号表示区分赋值(将值3分配给x)和相等(x是否等于3?)。(Ripley教授提醒我,在APL键盘上有一个实际的键带有箭头符号,因此当时箭头符号是单个按键。这在Blue Book中描述的S的前身最初使用的AT&T终端上也是如此。)。但是许多现代语言(例如C)使用等号进行赋值,因此使用R的初学者通常认为箭头符号很繁琐,并且容易错误地使用等号。但是R将等号用于将函数参数与值相关联的另一个用途(例如,pnorm(1,sd = 2),将标准偏差设置为2)。为了使像C这样的语言的新用户更容易使用,R于2001年添加了允许使用=作为赋值运算符的功能,因为通过上下文通常可以清楚地了解意图(分配或相关性)。因此,x = 3明显意味着“将3分配给x”,而f(x = 3)明显意味着“调用函数f,将参数x设置为3”。

0