r - 在 R 中设置等同于 .subset2?

标签 r subset r6

在 R 中,我可以使用 .subset2充当[[$无需 dispatch 。

> a <- new.env()
> a$foo  <- 3
> .subset2(a, "foo")
[1] 3

但是,我似乎无法找到没有调度的设置操作的等效项:

> .subset2(a, "foo") <- 5

Error in .subset2(a, "foo") <- 5 : could not find function ".subset2<-"

如何在不使用 [[<- 的隐式调度的情况下进行设置?或 $<-运营商?

最佳答案

您可能正在寻找assign:

Description: Assign a value to a name in an environment.

assign("foo", 5, envir = a)

顺便说一下,您可能不想使用 .subset2(这是基础包中的一个内部函数,可能会与 subset 混淆),而是使用 获取:

get("foo", envir = a)
# [1] 5

关于r - 在 R 中设置等同于 .subset2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69315300/

相关文章:

根据规则删除多列和多行中的重复项

R有条件替换为 '['且没有子集()

如果给定集合,则找到列表的最佳组合的算法

performance - R:为什么 [[ ]] 方法比使用 $ 更快地对列表进行子集化?

R函数返回包的许可证?

r - 从子框架调用返回

r - 在 R6 类上定义括号 (`[` ) 运算符

r - 将 "with"与 R6 对象一起使用

Rbuildignore 和排除目录

R - R6 类作为严格的 "read-only"数据结构