On Jul 6, 2012, at 15:36 , knallg...@gmx.com wrote:

> Hello there,
> 
> I just upgraded to R 2.15 (from R 2.12) on a Windows XP machine and noticed 
> some puzzling behaviour (that in my opinion did not exist in R 2.12).
> 
> It is possible now to call objects without spelling out the full object name. 
> R now seems to use that (unique) object which shares the same beginning of 
> the called object, even though the originally called object might not even 
> exist. 
> 
> This is quite awkwardly described, but perhaps you know what I'm talking 
> about?
> 
> Let's say I'm using the Mroz data supplied with the car package:
> 
> require(car)
> data(Mroz)
> 
> there is no variable called "w" in that dataframe, but calling 
> 
> summary(Mroz$w) #### Mroz$w does not exist
> 
> does not return any error but instead gives the same result as 
> 
> summary(Mroz$wc) ##### exists in Mroz
> 
> 
> I find this behaviour *very* undesirable. Is there any way to switch it off?

It's called partial matching and has been around since the King of Diamonds was 
a Knave (as the local saying goes). The feature has long since lost the love of 
its inventors, but it has been considered impossible to remove because of all 
the usages like chisq.test(M)$obs.

Easiest workaround is to use Mroz[["wc"]], see ?Extract for more info.

-- 
Peter Dalgaard, Professor
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd....@cbs.dk  Priv: pda...@gmail.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.

Reply via email to