From wdunlap at tibco.com  Fri Jul 31 19:16:45 2009
From: wdunlap at tibco.com (William Dunlap)
Date: Fri, 31 Jul 2009 10:16:45 -0700
Subject: [Rd] update.formula and backticked colons
References: <c9ce82b00907301428y698e401by2c3334b41ff7fc4c@mail.gmail.com> 
Message-ID: <77EB52C6DD32BA4D87471DCD70C8D7000195D913@NA-PA-VBE03.na.tibco.com>


> -----Original Message-----
> From: William Dunlap 
> Sent: Friday, July 31, 2009 10:15 AM
> To: 'Sundar Dorai-Raj'; r-devel at stat.math.ethz.ch
> Subject: RE: [Rd] update.formula and backticked colons
> 
> > -----Original Message-----
> > From: r-devel-bounces at r-project.org 
> > [mailto:r-devel-bounces at r-project.org] On Behalf Of Sundar Dorai-Raj
> > Sent: Thursday, July 30, 2009 2:28 PM
> > To: r-devel at stat.math.ethz.ch
> > Subject: [Rd] update.formula and backticked colons
> > 
> > I just noticed the following in update.formula and I'm wondering if
> > this behavior is the intention of the developers. Here's an example:
> > 
> > update(`a: b` ~ x, ~ . + y)
> > 
> > Note now that the response has no backticks and is 
> interpreted as a:b
> > (i.e. ":" is now an operator). This is because in update.formula the
> > call to terms.formula uses simplify = TRUE. I'm working 
> with data that
> > has a lot of colons in their names and for reporting 
> purposes I don't
> > want to use make.names to avoid this situation. I do have a solution
> > which simply avoids using update.formula, but I wonder if the
> > developers would consider removing the "simplify" argument and allow
> > it to be passed through "...", which is currently ignored by
> > update.formula. Alternatively, add a simplify=TRUE to the
> > update.formula call, which can manually be set to FALSE by the user.
> > 
> > I would love to hear any comments or criticisms of my findings.
> > 
> > Thanks,
> > 
> > --sundar
> 
> It would be nice to get right of the deparse/parse cycle in 
> terms.formula,
> since that often causes problems.  However, I think that 
> adding backticks=TRUE

Typo above: backtick should be singular.

> to terms.formula:fixFormulaObject's call to 
> deparse(form[[2L]])  would fix the 
> immediate problem.  (I haven't spent much time looking for 
> bad side effects
> of this change to terms.formula, which gets called in a lot 
> of other situations.)
> 
> Bill Dunlap
> TIBCO Software Inc - Spotfire Division
> wdunlap tibco.com 



[Rd] update.formula and backticked colons
William Dunlap