[R] as.character and a formula

Gavin Simpson gavin.simpson at ucl.ac.uk
Wed Aug 17 00:51:55 CEST 2005


On Tue, 2005-08-16 at 21:44 +0200, Peter Dalgaard wrote:
> Gavin Simpson <gavin.simpson at ucl.ac.uk> writes:
> 
> > Dear list,
> > 
> > given this formula: 
> > 
> > > fmla <- formula(y1 ~ spp1 + spp2 + spp3 + spp5)
> > > fmla[[3]]
> > spp1 + spp2 + spp3 + spp5
> > 
> > is this the intended behaviour of as.character:
> > 
> > > as.character(fmla[[3]])
> > [1] "+"                  "spp1 + spp2 + spp3" "spp5"
> 
> Yes.

Thanks Uwe, Brian and Peter for setting me straight. Being unobservant,
forgetful and stupid, all in one day, is some going, even for me.

All the best,

Gav

> > ? Where does the extra "+" come from?
> 
> What extra "+" ? There are three of them in fmla[[3]] and three in
> as.character(....).
> 
> as.character of an object of mode call is obtained by converting it to
> a list and deparsing each term (modulo some details regarding
> backquotes). This is somewhat peculiar, but quite a bit of legacy code
> is depending on it. Things like testing for as.character(e)[1] == "~"
> 
> 
-- 
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
Gavin Simpson                     [T] +44 (0)20 7679 5522
ENSIS Research Fellow             [F] +44 (0)20 7679 7565
ENSIS Ltd. & ECRC                 [E] gavin.simpsonATNOSPAMucl.ac.uk
UCL Department of Geography       [W] http://www.ucl.ac.uk/~ucfagls/cv/
26 Bedford Way                    [W] http://www.ucl.ac.uk/~ucfagls/
London.  WC1H 0AP.
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%




More information about the R-help mailing list