Try parse(text=...):

f <- function(fo, data, groups) {
        g <- do.call("xyplot", list(as.formula(fo),
                groups = parse(text = groups), data))
        print(g)
}

f("yield ~ variety | site", data = barley, groups = "year")



On Tue, Sep 22, 2009 at 4:20 PM, Erich Neuwirth
<erich.neuwi...@univie.ac.at> wrote:
> Thank you, this works for my example.
> On Sep 22, 2009, at 9:17 PM, Gabor Grothendieck wrote:
>
> f <- function(fo, data, groups) {
> g <- do.call("xyplot", list(as.formula(fo), groups = as.name(groups), data))
> print(g)
> }
>
> But xyplot allows expressions for the groups parameter also,
> and using as.expression instead of as.name in your example does not work.
> What is happening?
>
> f <- function(fo, data, groups) {
> g <- do.call("xyplot", list(as.formula(fo), groups = as.expression(groups),
> data))
> print(g)
> }
>
> f("yield ~ variety ~ site",barley,"year")
> produces a very nicely labeled but empty plot.
>

______________________________________________
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