> >                call[[1]] <- quote(modelType) # '

makes call[[1]] the same as as.name("modelType").  You want
as.name(modelType).

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com


> -----Original Message-----
> From: Simon Kiss [mailto:sjk...@gmail.com]
> Sent: Thursday, December 19, 2013 10:56 AM
> To: William Dunlap
> Cc: Dennis Murphy; r-help@r-project.org
> Subject: Re: [R] Help using mapply to run multiple models
> 
> Hello Bill, that is fantastic and it's quite a bit above what I could write. 
> Is there a way to
> make the model type an argument to the function so that you can specify 
> whether one is
> running glm, lm and such?
> I tried to modify it by inserting an argument modelType below, but that 
> doesn't work.
> Yours, simon Kiss
> >  f <- function (modelType, responseName, predictorNames, data, ..., envir =
> parent.frame())
> >    {
> >        call <- match.call()
> >        call$formula <- formula(envir = envir, paste(responseName, sep = " ~ 
> > ",
> >            paste0("`", predictorNames, "`", collapse = " + ")))
> >                call[[1]] <- quote(modelType) # '
> >        call$responseName <- NULL # omit responseName=
> >        call$predictorNames <- NULL # omit 'predictorNames='
> >                eval(call, envir = envir)
> >    }
> On 2013-12-18, at 3:07 PM, William Dunlap <wdun...@tibco.com> wrote:
> 
> >  f <- function (responseName, predictorNames, data, ..., envir = 
> > parent.frame())
> >    {
> >        call <- match.call()
> >        call$formula <- formula(envir = envir, paste(responseName, sep = " ~ 
> > ",
> >            paste0("`", predictorNames, "`", collapse = " + ")))
> >                call[[1]] <- quote(glm) # 'f' -> 'glm'
> >        call$responseName <- NULL # omit responseName=
> >        call$predictorNames <- NULL # omit 'predictorNames='
> >                eval(call, envir = envir)
> >    }
> > as in
> >    z <- lapply(list(c("hp","drat"), c("cyl"), c("am","gear")), 
> > FUN=function(preds)f("carb",
> preds, data=mtcars, family=poisson))
> >    lapply(z, summary)
> 
> *********************************
> Simon J. Kiss, PhD
> Assistant Professor, Wilfrid Laurier University
> 73 George Street
> Brantford, Ontario, Canada
> N3T 2C9
> Cell: +1 905 746 7606
> 
> 

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to