One way to use variable names in functions like Predict() that
do not evaluate their arguments in the standard way is to use
do.call() along with as.name().  E.g.,
  varName<-"age"
  do.call("Predict", list(fit, as.name(varName), np=4))})
gives the same result as
  Predict(fit, age, np=4)



Bill Dunlap
TIBCO Software
wdunlap tibco.com

On Tue, May 26, 2015 at 3:14 AM, wong jane <jane.wong...@gmail.com> wrote:

> There are functions which use variable names as parameters in some R
> packages. However, if the variable name is stored in another variable, how
> can I pass this variable to the function. Taking the "rms" package as an
> example:
>
> library(rms)
> n <- 1000
> age <- rnorm(n, 50, 10)
> sex <- factor(sample(c('female','male'), n,TRUE))
>
> y <- rnorm(n, 200, 25)
> ddist <- datadist(age, sex)
> options(datadist='ddist')
> fit <- lrm(y ~ age)
> Predict(fit, age, np=4)
> options(datadist=NULL)
>
> Here "age" was a variable name passed to Predict() function, but if "age"
> was stored in variable "var", that is, var <- "age", how can I pass "var"
> to Predict() function? The purpose is that I want to change the parameter
> of Predict()  in a loop.
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
>

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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