通常,您可以将对象的属性设置为
attributes(x) <- list(dummy = 123)
但我将变量名存储在一个字符向量中。以下代码引发错误:
var <- "x"
attributes(eval(as.name(var))) <- list(dummy = 123)
属性错误(eval(as.name(var)))&lt; - list(dummy = 123): 找不到功能“eval&lt; - ”
如果eval(as.name())
不正确,有人会提出解决此问题的方法吗?
答案 0 :(得分:1)
您可以使用函数应用属性和assign函数来应用它们:
add_dummy <- function(obj, name, attribute){
attr(obj, name) <- attribute
return(obj)
}
assign(var, add_dummy(get(var), "attr_name", list(dummy = 123)))