[R] Set attributes for object known by name

Peter Langfelder peter@|@ng|e|der @end|ng |rom gm@||@com
Thu Oct 11 06:30:40 CEST 2018


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 using 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 using 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]]




More information about the R-help mailing list