以下是一个简化示例:
e <- new.env()
e$var <- 'some.val'
attr(e$var, 'attrib') <- 'some.attrib'
attr(e$var, 'attrib')
#[1] "some.attrib"
assign_new_attrib <- function(obj) {
attr(obj, 'attrib') <<- 'some.new.attrib'
}
assign_new_attrib(e$var)
#Error in attr(obj, "attrib") <<- "some.new.attrib" :
# object 'obj' not found
attr(e$var, 'attrib')
#[1] "some.attrib"
我有一个变量
var
在环境中
e
它有一个属性
attrib
. 现在我有一个函数
assign_new_attrib
它接受一个对象并为其指定一个新属性
属性
. 如您所见,由于以下事实,上述代码导致错误“未找到对象‘obj’”
<<-
如何定义函数
assign_new_attrib()
要通过引用指定新属性?