From lorenz at usgs.gov  Fri Oct  3 14:55:28 2014
From: lorenz at usgs.gov (Lorenz, David)
Date: Fri, 3 Oct 2014 07:55:28 -0500
Subject: [Rd] How I() works in a formula
In-Reply-To: <CAO1zAVYHdBEqX0M-wH5OsGNxe2P1BKLS07cXBba9yQTnBtPN5g@mail.gmail.com>
References: <CAO1zAVYHdBEqX0M-wH5OsGNxe2P1BKLS07cXBba9yQTnBtPN5g@mail.gmail.com>
Message-ID: <CALxY2Le4KwZM09PrDiPe-JDca=0Wi4QNXBH7YyCUoyvH2AY5Ww@mail.gmail.com>

Joris,
  Basically, the I() function, as it is used in a regression model, allows
the user to perform arithmetic operations on a variable that would
otherwise be interpreted by the formula. It is not trapped as a special
function as Error() is in aov().
  There may be other applications where the class "AsIs" is needed, so
there are support functions for subscripting, formatting, printing and so
forth.
Dave

On Fri, Oct 3, 2014 at 7:32 AM, 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.
>
> 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
>

	[[alternative HTML version deleted]]



[Rd] How I() works in a formula
Lorenz, David