[Rd] How I() works in a formula

Joris Meys jorismeys at gmail.com
Fri Oct 3 16:20:49 CEST 2014


Thanks Peter! That clarifies why it felt I was chasing ghosts these past
days :) Thanks for the tip about coxph as well, there's some nice ideas to
be discovered there.

Cheers
Joris

On Fri, Oct 3, 2014 at 3:02 PM, peter dalgaard <pdalgd at gmail.com> wrote:

>
> On 03 Oct 2014, at 14:32 , Joris Meys <jorismeys at gmail.com> wrote:
>
> > Dear all,
> >
> > I'm updating a package regarding a new type of models, and I'm looking to
> > extend the formula interface with two functions (L() and R() ) for
> > construction of these models. I want to use as much of the formula
> > interface as possible, and hoped to do something similarly to I().
> >
> > I know the I() function does nothing more than add the class "AsIs". I've
> > been browsing the source code of R for a couple of days now trying to
> > locate where this class assignment gets translated into a specific
> action,
> > but i couldn't locate it. I've been as far as the internal C function
> > modelframe.
> >
> > Any pointers on how I() is processed internally are greatly appreciated.
>
> It isn't...
>
> > E <- function(x)x
> > x <- rnorm(10)
> > y <- rnorm(10)
> > lm(y~x+E(x^2))
>
> Call:
> lm(formula = y ~ x + E(x^2))
>
> Coefficients:
> (Intercept)            x       E(x^2)
>      0.2757       0.1725      -0.3823
>
>
> The point is that special interpretation of operators never happens inside
> function calls. I() is just a convenient do-nothing function call.
>
> If you want to add special operators, one place to look is in the handling
> of specials for survival::coxph.
>
>
> >
> > Cheers
> > Joris
> >
> > --
> > Joris Meys
> > Statistical consultant
> >
> > Ghent University
> > Faculty of Bioscience Engineering
> > Department of Mathematical Modelling, Statistics and Bio-Informatics
> >
> > tel : +32 9 264 59 87
> > Joris.Meys at Ugent.be
> > -------------------------------
> > Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php
> >
> >       [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-devel at 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.mes at cbs.dk  Priv: PDalgd at gmail.com
>
>
>
>
>
>
>
>
>


-- 
Joris Meys
Statistical consultant

Ghent University
Faculty of Bioscience Engineering
Department of Mathematical Modelling, Statistics and Bio-Informatics

tel : +32 9 264 59 87
Joris.Meys at Ugent.be
-------------------------------
Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php

	[[alternative HTML version deleted]]



More information about the R-devel mailing list