[R] Rule for accessing attributes?

Christos Hatzis christos at nuverabio.com
Thu Mar 27 05:35:59 CET 2008


You need to use the '@' operator to directly access attributes (not
elements) of objects:

> lst at names
[1] "x" "y" "z"

See ?'@' for more details.

-Christos

> -----Original Message-----
> From: r-help-bounces at r-project.org 
> [mailto:r-help-bounces at r-project.org] On Behalf Of Tribo Laboy
> Sent: Thursday, March 27, 2008 12:16 AM
> To: r-help at r-project.org
> Subject: [R] Rule for accessing attributes?
> 
> Hi !
> 
> I am a new user and quite confused by R-indexing.
> 
> Make a list and get the attributes
> lst <- list(x = 1:3, y = 4:6, z = 7:9)
> attributes(lst)
> 
> This returns:
> 
> $names
> [1] "x" "y" "z"
> 
> I can easily do:
> 
> nm <-names(lst)
> 
> or
> 
> nm <-attr(lst,"names")
> 
> which both return the assigned names of the named list 'lst', 
> but why then this doesn't work:
> 
> lst$names
> 
> ?
> 
> I am confused ... Moreover, I noticed that some of the objects (e.g.
> plot objects returned by ggplot) also have attributes when 
> queried by the 'attributes' function, but they are accessible 
> by the $ notation.
> (e.g.
> 
> xydf <- data.frame(x = 1:5, y = 11:15)
> plt <- ggplot(data = xydf, aes(x = x,y = y)) + geom_point()
> attributes(plt)
> 
> Now we can change the title:
> 
> plt$title <- "My Title"
> plt
> 
> So is it some inconsistency or am I missing something important?
> 
> ______________________________________________
> R-help at r-project.org mailing list
> 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.
> 
>



More information about the R-help mailing list