R语言入门之——箭头(<-)与等于号(=)的区别

0引言

对于R语言的初学者,往往会遇到<-=这两个赋值符号,本文本主要用箭头和赋值来称呼这两个符号,但是这两个符号有啥区别呢。这篇文章尽力的去讲明白这个事情。为刚刚入门的小白提供一点指导。

1、历史来源

系统学过R语言的人应该会知道R语言都知道R语言的前身是S语言。在初始的编程软件被开发出来的时候等于号=是用来代表判断。箭头(<-)用来代表赋值,而后来的S语言则是继承这个习惯设计的。但是随着编程软件习惯的完善我们使用双等于号==来表示判断的逻辑,所以等于号也被闲置出来用于赋值的功能,所以后来在R语言中等于号和箭头都被用来用作赋值的功能。下面给出一下示例,方便初学者的理解:

> x = 1:6
> x
[1] 1 2 3 4 5 6
> y <- 1:6
> y
[1] 1 2 3 4 5 6

2、<- 和=的区别案例

2.1 = or <- :函数传参

=多用于编写自定义函数时形式参数的数据传参,以及不需要赋值的调用函数。下面给出具体例子。

> rm(list=ls(all=TRUE))  # 清除空间变量
> fun1 <- function(a = 1, b = 2){
+   a + b
+ }  # 构建函数1
> fun2 <- function(a <- 1, b <- 2){
错误: unexpected assignment in "fun2 <- function(a <-"
>   a + b
错误: 找不到对象'a'
> }  # 构建函数2
错误: 意外的'}' in "}"
> fun1()  # 函数1的调用
[1] 3
> fun1(a = 5, b = 6) # 函数1的调用
[1] 11
> a
错误: 找不到对象'a'
> b
错误: 找不到对象'b'
> fun1(a <- 3, b <- 5) # 函数1的调用
[1] 8
> a
[1] 3
> b
[1] 5

3、总结与扩展

由上面的讨论我们可以知道<-=的区别主要在于函数的编写与调用。在除函数编写外,其他时候赋值建议使用<-而不是=。当然赋值运算符除了=<-外,还有用于全局赋值的运算符:<<-。大家在使用的时候根据自己的需求谨慎使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

统计学小王子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值