How I() works in a formula
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]]