On Mar 20, 2013, at 16:23 , Hadley Wickham wrote: > On Wed, Mar 20, 2013 at 7:28 AM, peter dalgaard <[email protected]> wrote: >> Allowing partial matching on $-extraction has always been a source of >> accidents. Recently, someone who shall remain nameless tried names(mydata) >> <- "d^2" followed by mydata$d^2. >> >> As variables in a data frame are generally considered similar to variables >> in, say, the global environment, it seems strange that foo$bar can give you >> the content of foo$bartender. >> >> In R-devel (i.e., *not* R-3.0.0 beta, but 3.1.0-to-be) partial matches now >> gives a warning. > > Just for data frames, or also for lists?
Just for data frames, at least for now. For lists, there are just too many uses of chisq.test()$exp etc. (I nearly wrote t.test()$p, but that doesn't actually work!) > > I think this is a fantastic change, but I do worry a little that it is > going to generate warnings for a _lot_ of existing code. We'll see about that, but I expect it not to be all that bad. In general purpose code, you need to have a situation where the data frame has known column names, and the one that you want is sufficiently awkward to type. The p-value column in anova is about the only realistic scenario that I can come up with. The ones in, e.g., summary.lm are in a matrix, not a data frame. > > Hadley > > -- > Chief Scientist, RStudio > http://had.co.nz/ -- Peter Dalgaard, Professor Center for Statistics, Copenhagen Business School Solbjerg Plads 3, 2000 Frederiksberg, Denmark Phone: (+45)38153501 Email: [email protected] Priv: [email protected] ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
