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
相关推荐
余醉 | dtminer2 小时前
R语言常见新手问题
开发语言·r语言
佳哥的技术分享3 小时前
Function<T, R> 中 apply,compose, andThen 方法总结
java·学习·r语言
2501_942191771 天前
纺织品微观缺陷检测与分类:基于Faster R-CNN的改进模型实现与性能优化_1
分类·r语言·cnn
TDengine (老段)1 天前
TDengine R 语言连接器进阶指南
大数据·开发语言·数据库·r语言·时序数据库·tdengine·涛思数据
Katecat996632 天前
肾衰竭医学影像多类别目标检测:基于Mask R-CNN的囊肿、肾脏、结石和肿瘤六类病变特征识别_1
目标检测·r语言·cnn
2501_942191772 天前
使用Faster R-CNN实现网球球检测:基于R50-FPN-MS-3x模型的COCO数据集训练与优化
目标跟踪·r语言·cnn
2501_941329722 天前
长豆荚目标检测:Faster R-CNN改进模型实战与优化
目标检测·r语言·cnn
一口面条一口蒜2 天前
R 包构建 + GitHub 部署全流程
开发语言·r语言·github
Katecat996632 天前
肾脏超声图像质量评估与分类系统实现(附Mask R-CNN模型训练)_1
分类·r语言·cnn
TDengine (老段)2 天前
TDengine R 语言连接器入门指南
大数据·数据库·物联网·r语言·时序数据库·tdengine·涛思数据