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
相关推荐
satan–04 小时前
R语言的下载、安装及环境配置(Rstudio&VSCode)
开发语言·windows·vscode·r语言
PhyliciaFelicia2 天前
基于R语言机器学习遥感数据处理与模型空间预测
开发语言·深度学习·随机森林·机器学习·数据分析·r语言
长安不及十里3 天前
PaddleDetection 自定义训练目标检测
人工智能·目标检测·r语言
WangYan20223 天前
ChatGPT+R语言强强联合,数据分析不再难!回归与混合效应模型、多元统计分析、结构方程模型(SEM)(lavaan)、Meta分析、贝叶斯回归等应用
chatgpt·数据分析·r语言·结构方程模型·多元统计分析·回归与混合效应模型
hakesashou4 天前
python和r语言的区别是什么
开发语言·python·r语言
青春不流名5 天前
centos72009源码编译R语言
开发语言·r语言
SofterICer5 天前
pysim-4-1.1.17 eUICC ISD-R commands
开发语言·r语言
让学习成为一种生活方式5 天前
基因共表达分析-R-脚本04
java·windows·r语言
卡卡_R-Python5 天前
简单线性回归分析-基于R语言
算法·r语言·线性回归
纪伊路上盛名在5 天前
如何初步部署自己的服务器,达到生信分析的及格线2(待更新)
linux·运维·服务器·python·学习·r语言