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
相关推荐
喜欢就别4 小时前
平均风险:Rényi DP 和零集中 DP
开发语言·r语言
Bioinfo Guy3 天前
高分Panel复现系列|甲基化分型可视化:怎么画这样的ComplexHeatmap分块热图
r语言·生物信息学·生信可视化
临床数据科学和人工智能兴趣组7 天前
R读数据总出错?一份文件读取全指南
r语言·r语言-4.2.1
GZ同学25 天前
单双变量Ripley’s K函数 R 语言实现
开发语言·r语言
popcorn_min1 个月前
共享单车需求预测:时间特征工程 + 随机森林,R² 达到 0.931
随机森林·r语言·kotlin
m0_497048931 个月前
.NET10+Avalonia跨平台截屏工具解析
r语言
dongf20191 个月前
R语言朴素贝叶斯算法---iris数据集
开发语言·算法·数据分析·r语言
All_Will_Be_Fine噻1 个月前
重建R环境
开发语言·r语言
梦想的初衷~1 个月前
基于R语言APSIM模型高级应用及批量模拟
r语言·apsim·作物生长模型·农业模拟·气象数据处理·土壤水分平衡
dongf20191 个月前
R 语言 逻辑斯蒂回归
开发语言·数据分析·回归·r语言