Dear Lorenzo, This is the trade off that comes with convenience. The `$` operator passes its argument directly as I understand it. This is what lets you pass unquoted names that not variables. The way around it is to use the `[` extraction operator. Look at these examples:
test[interest] #or test[, interest] # but test[first] test[,first] Notice that for `[`, the name of the column _must_ be quoted, or be an object itself. Typing: test$interest is trying to look up the 'interest' column, which does not exist, and is equivalent to: test[,"interest"] which is clearly not what you want. HTH, Josh P.S. I am sure there are others who could provide a more detailed description. `$` is primitive and I am only used to R code, so I have never actually looked through its source. On Mon, Oct 4, 2010 at 10:45 PM, Lorenzo Cattarino <l.cattar...@uq.edu.au> wrote: > Hi R-users > > > > I am having troubles accessing elements after the $ symbol. Reproducible > example: > > > >>test <- data.frame (first=1:10, second=11:20, third=21:30) > >>test$first #this works fine > > > > but when I try > > > >>interest <- "first" > >>test$interest # does not seem to work > > > > Could you tell me why that happens and show how to do instead? > > > > Thanks so much > > Lorenzo > > > > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@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. > -- Joshua Wiley Ph.D. Student, Health Psychology University of California, Los Angeles http://www.joshuawiley.com/ ______________________________________________ R-help@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.