我需要这样的功能:
note<-function(object,text=""){attributes(object)[4]<-text}
例如:note(xxx,"yyyy")
在其中我尝试将对象"yyyy"
的第四个属性设置为值xxx
(在全局环境中)。实际上,该函数(如预期的那样)不起作用,因为它修改了
函数 env 中的值。
有什么建议吗?
我需要这样的功能:
note<-function(object,text=""){attributes(object)[4]<-text}
例如:note(xxx,"yyyy")
在其中我尝试将对象"yyyy"
的第四个属性设置为值xxx
(在全局环境中)。实际上,该函数(如预期的那样)不起作用,因为它修改了
函数 env 中的值。
有什么建议吗?
您可以使函数返回对象本身,因此可以重新分配它:
note <- function(object, text = "") {
attributes(object)[4] <- text
return(object)
}
xxx <- note(xxx, "yyyy")
这里的解决方案(发现尝试 flodel 建议):
note<-function(object,text=""){
object2<-object
attributes(object2)[4]<-text
assign(deparse(substitute(object)),object2,envir=.GlobalEnv)
}
谢谢大家