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...
Set attributes for object known by name
4 messages · Marc Girondot, Peter Langfelder, Bert Gunter
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.
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.
Well, it can be done without a temporary variable, but I'm not sure you would want to. Anyway... ## simplified example
a <- 1 vname <- "a" eval(substitute(attr(x,"b") <- "hi", list( x = as.name(vname)))) a
[1] 1 attr(,"b") [1] "hi" Cheers, Bert Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Wed, Oct 10, 2018 at 9:48 PM Peter Langfelder <peter.langfelder at gmail.com> wrote:
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]]
______________________________________________ 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.