On 03 Oct 2014, at 14:32 , Joris Meys <jorism...@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.m...@ugent.be > ------------------------------- > Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel@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....@cbs.dk Priv: pda...@gmail.com ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel