Hello everybody, Has someone the solution to set attribute when variable is known by name ? Thanks a lot Marc Let see this exemple: # The variable name is stored as characters. varname <- "myvarname" assign(x = varname, data.frame(A=1:5, B=2:6)) attributes(myvarname) $names [1] "A" "B" $class [1] "data.frame" $row.names [1] 1 2 3 4 5 # perfect attributes(get(varname)) # It works also $names [1] "A" "B" $class [1] "data.frame" $row.names [1] 1 2 3 4 5 attributes(myvarname)$NewAtt <- "MyAtt" # It works attributes(get(varname))$NewAtt2 <- "MyAtt2" Error in attributes(get(varname))$NewAtt2 <- "MyAtt2" : ? impossible de trouver la fonction "get<-" # Error...
I would try something like x = get(myvarname) attr(x, "foo") = "bar" assign(varname, x) HTH, Peter On Wed, Oct 10, 2018 at 9:15 PM Marc Girondot via R-help < r-help at r-project.org> wrote:> Hello everybody, > > Has someone the solution to set attribute when variable is known by name ? > > Thanks a lot > > Marc > > Let see this exemple: > > # The variable name is stored as characters. > > varname <- "myvarname" > assign(x = varname, data.frame(A=1:5, B=2:6)) > attributes(myvarname) > > $names > [1] "A" "B" > $class > [1] "data.frame" > $row.names > [1] 1 2 3 4 5 > > # perfect > > attributes(get(varname)) > > # It works also > > $names > [1] "A" "B" > $class > [1] "data.frame" > > $row.names > [1] 1 2 3 4 5 > > attributes(myvarname)$NewAtt <- "MyAtt" > > # It works > > attributes(get(varname))$NewAtt2 <- "MyAtt2" > Error in attributes(get(varname))$NewAtt2 <- "MyAtt2" : > impossible de trouver la fonction "get<-" > > # Error... > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >[[alternative HTML version deleted]]
oops, I think the right code would be x = get(varname) attr(x, "foo") = "bar" assign(varname, x) On Wed, Oct 10, 2018 at 9:30 PM Peter Langfelder <peter.langfelder at gmail.com> wrote:> I would try something like > > x = get(myvarname) > attr(x, "foo") = "bar" > assign(varname, x) > > HTH, > > Peter > > On Wed, Oct 10, 2018 at 9:15 PM Marc Girondot via R-help < > r-help at r-project.org> wrote: > >> Hello everybody, >> >> Has someone the solution to set attribute when variable is known by name ? >> >> Thanks a lot >> >> Marc >> >> Let see this exemple: >> >> # The variable name is stored as characters. >> >> varname <- "myvarname" >> assign(x = varname, data.frame(A=1:5, B=2:6)) >> attributes(myvarname) >> >> $names >> [1] "A" "B" >> $class >> [1] "data.frame" >> $row.names >> [1] 1 2 3 4 5 >> >> # perfect >> >> attributes(get(varname)) >> >> # It works also >> >> $names >> [1] "A" "B" >> $class >> [1] "data.frame" >> >> $row.names >> [1] 1 2 3 4 5 >> >> attributes(myvarname)$NewAtt <- "MyAtt" >> >> # It works >> >> attributes(get(varname))$NewAtt2 <- "MyAtt2" >> Error in attributes(get(varname))$NewAtt2 <- "MyAtt2" : >> impossible de trouver la fonction "get<-" >> >> # Error... >> >> ______________________________________________ >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide >> http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> >[[alternative HTML version deleted]]