From therneau at mayo.edu  Mon Jul  1 22:51:43 2013
From: therneau at mayo.edu (Terry Therneau)
Date: Mon, 01 Jul 2013 15:51:43 -0500
Subject: [Rd] Problem with anova and the new abbreviation restrictions
Message-ID: <51D1EBDF.9050307@mayo.edu>

An unwanted side effect of the new restrictions on abrreviated names.

The anova.coxph command, in a slavish copy of anova.lm etc, returns a data frame with 
column labels of
     loglik  Chisq  Df  Pr(>|Chi|)

If one tries to extract the final column of the table errors result since it is not a 
standard R variable name.

 > afit <- anova(lm(conc ~ uptake, CO2))
 > afit$P
[1] 2.905607e-06           NA
Warning message:
In `$.data.frame`(afit, P) : Name partially matched in data frame
 > afit$Pr(>F)
Error: unexpected '>' in "afit$Pr(>"

The second is a result of allowing TAB completion of the name.

Yes, experienced folks can sneak around it, but should this be upgraded to match and "ease 
of use" criteria?  Add an [.anova subscript method that allows for shortened names?

I'm still in favor of an option() that controls this new behavior with values of "allow", 
"warn", and "error" so that I can at least turn it off for me.  (I work on many data sets 
created by SAS programmers that are in love with excessively long names, and use batch 
scripts so name completion isn't avail during script creation).  But this is more local to 
me, and does not address the primary question above in a general way.

Terry T



[Rd] Problem with anova and the new abbreviation restrictions
Terry Therneau