Rule for accessing attributes?
Thanks Christos, for your reply and for sharing how to access the attributes?, slots? in a shorthand notation with @, but after reading the help for @, I became even more confused. Is there any place that has collected wisdom on R indexing?
On Thu, Mar 27, 2008 at 1:35 PM, Christos Hatzis <christos at nuverabio.com> wrote:
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. > >