[R] changes to terms.formula in 2.3.x

Gabor Grothendieck ggrothendieck at gmail.com
Tue Jun 20 18:51:58 CEST 2006


Try this:

> fo <- ~ x | y
> fo[[3]] <- fo[[2]]
> fo[[2]] <- as.name("z")
> fo
z ~ x | y

On 6/20/06, Sundar Dorai-Raj <sundar.dorai-raj at pdf.com> wrote:
> Hi, all,
>
> I just recently noticed a change in terms.formula from 2.2.1 to 2.3.1
> (possibly 2.3.0, but I didn't check). Here's the problem:
>
> ## 2.2.1
>  >  update(~ x | y, z ~ .)
> z ~ x | y
>
> ## 2.3.1
>  > update(~ x | y, z ~ .)
> z ~ (x | y)
>
> and in the NEWS for 2.3.1
>
>     o  terms.formula needed to add parentheses to formulae with
>        terms containing '|'.  (PR#8462)
>
> So, there must be a reason for this change. However, in the lattice
> framework I have this causes many problems because now the `|' is
> interpreted as a logical OR. Could someone suggest a workaround for me
> so that I still get the 2.2.1 behavior my code relies on. Here's a very
> simple test function (works in 2.2.1, fails in 2.3.1):
>
> library(lattice)
> foo <- function(x, data) {
>   x <- update(x, y ~ .)
>   xyplot(x, data)
> }
> z <- expand.grid(x = 1:10, g = letters[1:3])
> z$y <- rnorm(nrow(z))
> foo(~ x | g, z)
>
> Thanks,
>
> --sundar
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>



More information about the R-help mailing list