Anil Maliyekkel wrote: > [snip] > > Going back to the original partial replacement problem, is there > anyway to turn off partial matching, or to selectively apply exact > matching when trying to access a single element? I can get the > desired single element match using the convoluted syntax D["ABC"] > [[1]] and perform partial replacement operations on a new column. > However, it would be nice to have single element access operator that > does exact matching.
The easiest thing to do is probably to always supply full names, and if you want to create a new component, then create it in its entirity (not by assigning to a subset of a non-existent component). A couple of years ago I proposed (with code) an operator '$$' that did only exact matching, but that proposal didn't gather any interest at the time. It might actually make more sense to have the roles switched, so that the ordinary '$' required exact matches, while the special '$$' allowed partial matching (to allow for convenient interactive use). But, that's probably a bigger change than the R code base & community could bear. Then again, what about the following as a way forward to eliminating partial matching on names for "$" and "[[": (1) Announce that partial matching for "$" and "[[" is deprecated (1a) (optional) Introduce "$$" operator with partial matching, intended solely for interactive use, with QA checks to ensure that it is not used in packages (2) Introduce warnings upon use of partial matching with "$" and "[[", with an option() to turn them off. Initially these warnings are off by default, but QA tools turn them on, and package maintainers see the warnings. (3) After a year or two (assuming most packages no longer contain use of partial matching), change the default warning about partial matching to "on". (4) After another year, eliminate partial matching with "$" and "[[". Opinions? -- Tony Plate > > Anil > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel