在R语言中,使用“=”和“<-”到底有什么不同? 就是等号和箭头号有什么区别,是完全一样还是局部不同?

Python016

在R语言中,使用“=”和“<-”到底有什么不同? 就是等号和箭头号有什么区别,是完全一样还是局部不同?,第1张

R里通常用符号”<-”代替其它语言里的”=”来作赋值符号。因为前者敲起来比等号要麻烦,且大部分情况下两者是等价的,所以通常就愉懒依旧用”=”来赋值。但要切记两者在某些时候是有区别的。字面上的解释,可以认为”<-”是赋值,”=”是传值。在函数调用中,func(x=1)与func(x<-1)是有区别的,前者调用完后变量x不会被保留,而后者会在工作区里保留变量x=1。再如length(x=seq(1,10))计算完成后x不会被保留,而length(x<-seq(1,10))计算完后你会在工作区里发现x这个变量。

你自己输入错了,其实前面两个人给的答案是对的,第一行你给大写X赋值,第二行输出小写x内容。

多数情况下,在R语言里,<- 与= 两个都是赋值的意思,没有区别,比如

>x<- c(1:5)x

[1] 1 2 3 4 5

>x=c(1:10)x

[1] 1 2 3 4 5 6 7 8 9 10

只有在有些时候会有区别,比如

>x<- c(1:5)x

[1] 1 2 3 4 5

>length(x=c(1:10))x

[1] 10

[1] 1 2 3 4 5

>length(x<- c(1:10))x

[1] 10

[1] 1 2 3 4 5 6 7 8 9 10

为了防止出错,在R里面赋值最好使用符号 <-

R语言里面的!=是不等于的意思,用做逻辑判断用的。如5!=3返回结果是TRUE,意思是真的。还有NA是缺失值的意思,当一个元素或者值在统计的时候“不可得到”或者“值丢失”时,相关位置可能会被保留并且赋予一个特定的值NA。任何包含有NA的数据的运算结果都将是NA。