R语言【base】——通过超赋值符(<<-)向上层环境中的变量写入值,或者在上层环境中创建新变量并写入值

Package base version 4.3.2


在 R 语言中,处在某一个环境层的代码都拥有读入上一环境层的变量的权限,但相反地,若只通过标准的赋值运算符**<-** ,是无法向上一环境层写入变量的。若想在上一环境层进行赋值行为,即向上一层次写入变量,则需要用到 <<-(superassignment)运算符。


一般说来, <<- 多用于在顶层环境中写入变量。然而需要注意的是,以 **<<-**执行赋值时,会一直向上直至顶层进行变量查找。若在查找过程中寻找到该名称的变量,就会进行赋值操作。否则,将在顶层环境中创建变量并赋值。


R 复制代码
test_suprassign <- function(){
  a <- 1
  b <- 2
  nxta <- function(){a <<- a + 1}
  nxtc <- function(){c <<- b + 1}
  nxta()
  nxtc()
  c
}

> test_suprassign()
[1] 3


> a
错误: 找不到对象'a'

> b
错误: 找不到对象'b'

> d
[1] 3
相关推荐
QH_ShareHub7 小时前
从 R 到 Python:数据科学生态的“双语”对照手册
开发语言·python·r语言
Yolo566Q7 小时前
环境土壤物理模型HYDRUS1D/2D/3D实践技术应用系统性学习
大数据·开发语言·gpt·学习·arcgis·r语言
知识分享小能手8 小时前
R语言入门学习教程,从入门到精通,R语言流程控制语句(5)
开发语言·学习·r语言
知识分享小能手1 天前
R语言入门学习教程,从入门到精通,R语言数据结构(4)
数据结构·学习·r语言
胖哥真不错2 天前
R实现负二项回归模型项目实战
回归·r语言·毕业设计·项目实战·负二项回归模型
知识分享小能手2 天前
R语言入门学习教程,从入门到精通,R语言入门(3)
开发语言·学习·r语言
赵钰老师3 天前
R语言在生态环境领域中的应用
开发语言·数据分析·r语言
知识分享小能手3 天前
R语言入门学习教程,从入门到精通,集成开发环境RStudio(2)
开发语言·学习·r语言
Biomamba生信基地3 天前
拷贝数变异分析的python实现及R语言对比
python·r语言·生物信息学·单细胞测序
生物信息与育种4 天前
实战总结:用 rMVP 做植物 GWAS 的标准工作流与避坑指南
人工智能·深度学习·职场和发展·数据分析·r语言