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
相关推荐
WiKiLeaks_successor13 小时前
R_day3(DataType:matrix)
r语言
喵本喵叁肆3 天前
Rényi 差分隐私:把隐私损失看成一族矩(英文原题:Rényi Differential Privacy (CSF 2017))
开发语言·r语言
电科_银尘8 天前
【深度学习项目实战·17】行人目标检测:用Faster R-CNN找出图片中的行人
深度学习·目标检测·r语言
Biotree_202517 天前
实验谱库检索不再是唯一答案:AIMe依托预测质谱空间,实现小分子MS²全域注释检索
r语言
Canmag 兴隆磁性20 天前
回复磁导率 μ_R:永磁体在动态磁路中的关键参数
开发语言·学习·r语言·永磁材料·充磁·磁导率
临床数据科学和人工智能兴趣组21 天前
提取匹配模式的第一个值
人工智能·r语言·1024程序员节·r语言-4.2.1·临床试验·临床科研·科学问题
临床数据科学和人工智能兴趣组23 天前
在数据分析和处理过程中,字符串的操作常常扮演着极其重要的角色。R语言内置了多种功能强大的字符串处理函数,gsub() 就是其中之一
数据分析·r语言·r语言-4.2.1·临床研究·临床试验·临床科研
dfjdkfahkjd1 个月前
开源项目吐槽大会:技术文章大纲
r语言
爱读书的小胖1 个月前
Codewars:Last digit of a large number(C)解题分析
c语言·开发语言·r语言
生态学者1 个月前
Global Change Biology | 森林越“步调一致”,反而越怕干旱?树木生长与叶片活动的同步之谜
大数据·人工智能·算法·r语言·微信公众平台