3

次のような関数が必要です。

note<-function(object,text=""){attributes(object)[4]<-text}  

例えば:note(xxx,"yyyy")

"yyyy"オブジェクトの 4 番目の属性xxx(グローバル環境内)の値を設定しようとしています。そのままでは、
関数envの値を変更するため、関数は(予想どおり)機能しません。
なにか提案を?

4

2 に答える 2

4

関数がオブジェクト自体を返すようにすることができるため、再割り当てできます。

note <- function(object, text = "") {
    attributes(object)[4] <- text
    return(object)
}

xxx <- note(xxx, "yyyy")
于 2012-09-03T11:53:51.223 に答える
0

ここで解決策(フロデルの提案を試してみました):

note<-function(object,text=""){
 object2<-object
 attributes(object2)[4]<-text
 assign(deparse(substitute(object)),object2,envir=.GlobalEnv)
}

ありがとうございます

于 2012-09-04T13:38:20.150 に答える