R语言赋值符号<-、=、->、<<-、->>的使用与区别

R语言的赋值符号有<-、=、->、<<-、->>六种,它们的使用与区别如下:

  1. '<- ':最常用的赋值符号。它将右侧表达式的值赋给左侧的变量,像一个向左的箭头。例如,'x <- 3'将3赋给变量x。在Rstudio中的快捷输入键是同时按"ALT键"和"减号",同时会自动在其前后加了空格。
  2. '= ':也可以用于赋值操作,其作用与'<-'相同。例如,'x = 100'将100赋给变量x。通常在函数调用和参数传递时使用'='进行赋值。
  3. '-> ':是'<-'的反向形式,它将左侧变量赋值为右侧表达式的值,像一个向右的箭头,。例如,'10 -> x'将10赋给变量x。不常见,通常较少使用。
  4. '->> ':用法类似于'->',将右侧表达式的值赋给左侧的变量。也不常见,通常较少使用。
  5. '<<- ':这个符号是'->>'的反向形式,用于在函数内部改变全局环境中的变量。当在函数内部使用'<<-'对一个变量进行赋值时,如果该变量在函数外部没有定义,则会在全局环境中创建这个变量,并进行赋值操作。这种行为被称为"superassignment",超分配。

总结:

'<-'和'='是最常用的赋值符号,它们的作用相同,但函数调用和参数传递时使用'='进行赋值;

`->`和`->>`相对较少使用;

`<<-`则具有特殊的全局赋值功能,在一般情况下应当谨慎使用。

R 复制代码
StudentData <- data.frame(name = c("Linda","Summer","Tom","Bob"),
                          age = c(18,19,17,18),
                          gender = c("W","W","M","M"),
                          range = c("B","A","B","B")
                          )
StudentData

参数传递时应"=" ,运行结果为:正确形式

R 复制代码
StudentData <- data.frame(name <-  c("Linda","Summer","Tom","Bob"),
                          age <-  c(18,19,17,18),
                          gender <-  c("W","W","M","M"),
                          range <-  c("B","A","B","B")
                          )
StudentData

**参数传递时应"<-"**运行结果:

相关推荐
jiang_changsheng2 天前
环境管理工具全景图与深度对比
java·c语言·开发语言·c++·python·r语言
JicasdC123asd2 天前
使用Faster R-CNN模型训练汽车品牌与型号检测数据集 改进C4结构 优化汽车识别系统 多类别检测 VOC格式
r语言·cnn·汽车
请你喝好果汁6412 天前
## 学习笔记:R 语言中比例字符串的数值转换,如GeneRatio中5/100的处理
笔记·学习·r语言
怦怦蓝2 天前
DB2深度解析:从架构原理到与R语言的集成实践
开发语言·架构·r语言·db2
新新学长搞科研2 天前
【CCF主办 | 高认可度会议】第六届人工智能、大数据与算法国际学术会议(CAIBDA 2026)
大数据·开发语言·网络·人工智能·算法·r语言·中国计算机学会
Piar1231sdafa3 天前
战斗车辆状态识别与分类 --- 基于Mask R-CNN和RegNet的模型实现
r语言·cnn
陳土3 天前
R语言Offier包源码—1:read_docx()
r语言
善木科研喵3 天前
IF5.9分,α-硫辛酸如何缓解化疗神经毒性?网络毒理学结合网络药理学双重锁定关键通路!
数据库·数据分析·r语言·sci·生信分析·医学科研
Piar1231sdafa4 天前
椅子目标检测新突破:Cascade R-CNN模型详解与性能优化_1
目标检测·r语言·cnn
Loacnasfhia94 天前
基于Mask R-CNN与RegNetX的钢水罐及未定义物体目标检测系统研究_1
目标检测·r语言·cnn