[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