This (and more) was fixed in r-devel back in May. Did you actually get bitten 
by this? (The code has been there for years, so it hasn't been slated for 
R-patched.)

-pd 

On Sep 3, 2012, at 11:06 , Suharto Anggono Suharto Anggono wrote:

> In the code for 'aggregate.formula', there is
> if (as.character(formula[[2L]] == "."))
> I believe that it is meant to be
> if (as.character(formula[[2L]]) == ".")
> 
> However,
> if (as.character(formula[[2L]] == "."))
> gives the expected result.
> Tracing:
> - formula[[2L]] == "."
> is equivalent to
> as.character(formula[[2L]]) == "."
> From the help page for '==' (Comparison), "Language objects such as symbols 
> and calls are deparsed to character strings before comparison."
> - By applying 'as.character', the TRUE/FALSE result of
> formula[[2L]] == "."
> is converted to character, becomes "TRUE"/"FALSE".
> - Then, for 'if', it is implicitly converted back to logical.
> 
> 
>> sessionInfo()
> R version 2.14.2 (2012-02-29)
> Platform: i386-pc-mingw32/i386 (32-bit)
> 
> locale:
> [1] LC_COLLATE=English_United States.1252 
> [2] LC_CTYPE=English_United States.1252   
> [3] LC_MONETARY=English_United States.1252
> [4] LC_NUMERIC=C                          
> [5] LC_TIME=English_United States.1252    
> 
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base     
> 
> 
> I see that, in R 2.15.1, the code for 'aggregate.formula' is still the same.
> 
> ______________________________________________
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

-- 
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-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to