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
相关推荐
爱读书的小胖15 小时前
Codewars:Last digit of a large number(C)解题分析
c语言·开发语言·r语言
生态学者2 天前
Global Change Biology | 森林越“步调一致”,反而越怕干旱?树木生长与叶片活动的同步之谜
大数据·人工智能·算法·r语言·微信公众平台
天桥下的卖艺者2 天前
R语言使用ggcube包轻松绘制文章中的各类3D图形
开发语言·3d·r语言
余醉 | dtminer3 天前
3337 OTU×999置换:群落构建mBio 高分沉积物
开发语言·r语言·微生物学
青春不败 177-3266-05203 天前
从通量数据到SCI论文——AI-R语言生态系统碳水热通量及其机制分析与论文
人工智能·r语言·生态学·生物多样性·生态系统服务·碳水通量
没有梦想的咸鱼185-1037-16634 天前
从通量数据到SCI论文——AI-R语言生态系统碳水热通量及其机制分析与论文
开发语言·人工智能·数据分析·r语言
CarIise4 天前
Maven依赖传递与聚合工程
python·r语言·django
临床数据科学和人工智能兴趣组4 天前
在R语言的生态系统中,字符串处理一直是一个重要且复杂的任务
开发语言·正则表达式·r语言·r语言-4.2.1
临床数据科学和人工智能兴趣组4 天前
字符串转换为句子风格
大数据·数据库·人工智能·r语言·r语言-4.2.1