Dear members,
Has someone have a solution to include a bquote() statement in a list to
be used with do.call() ?
Here is an exemple:
scaleY <- 10000
plot(x=1, y=1, ylab=bquote(.(format(scaleY),
scientific=FALSE)^"-1"))
Like that, it works.
Now he same in a list:
L <- list(x=1, y=1, ylab=bquote(.(format(scaleY),
scientific=FALSE)^"-1"))
do.call(plot, L)
Error in "10000"^"-1" : argument non num?rique pour
un
op?rateur binaire
It produces an error.
Any solution?
(I tries also with substitute() and expression() but I fail also)
Thanks
Marc
On 08/10/2016 12:50 PM, Marc Girondot via R-help wrote:> Dear members, > > Has someone have a solution to include a bquote() statement in a list to > be used with do.call() ? > > Here is an exemple: > scaleY <- 10000 > plot(x=1, y=1, ylab=bquote(.(format(scaleY), scientific=FALSE)^"-1")) > > Like that, it works. > > Now he same in a list: > L <- list(x=1, y=1, ylab=bquote(.(format(scaleY), > scientific=FALSE)^"-1")) > do.call(plot, L) > Error in "10000"^"-1" : argument non num?rique pour un > op?rateur binaire > > It produces an error. > > Any solution? > > (I tries also with substitute() and expression() but I fail also)This seems to work: L <- list(x=1, y=1, ylab=bquote(expression(.(format(scaleY), scientific=FALSE)^"-1"))) do.call(plot, L) Duncan Murdoch
I think there's an error here, although it doesn't affect the result.
It should be:
L <- list(x=1, y=1,
ylab=bquote(expression(.(format(scaleY,
scientific=FALSE)^"-1"))))
Bert Gunter
"The trouble with having an open mind is that people keep coming along
and sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )
On Sat, Oct 8, 2016 at 10:11 AM, Duncan Murdoch
<murdoch.duncan at gmail.com> wrote:> On 08/10/2016 12:50 PM, Marc Girondot via R-help wrote:
>>
>> Dear members,
>>
>> Has someone have a solution to include a bquote() statement in a list
to
>> be used with do.call() ?
>>
>> Here is an exemple:
>> scaleY <- 10000
>> plot(x=1, y=1, ylab=bquote(.(format(scaleY),
scientific=FALSE)^"-1"))
>>
>> Like that, it works.
>>
>> Now he same in a list:
>> L <- list(x=1, y=1, ylab=bquote(.(format(scaleY),
>> scientific=FALSE)^"-1"))
>> do.call(plot, L)
>> Error in "10000"^"-1" : argument non
num?rique pour un
>> op?rateur binaire
>>
>> It produces an error.
>>
>> Any solution?
>>
>> (I tries also with substitute() and expression() but I fail also)
>
>
> This seems to work:
>
> L <- list(x=1, y=1, ylab=bquote(expression(.(format(scaleY),
> scientific=FALSE)^"-1")))
> do.call(plot, L)
>
> Duncan Murdoch
>
>
> ______________________________________________
> R-help at 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.
> On Oct 8, 2016, at 9:50 AM, Marc Girondot via R-help <r-help at r-project.org> wrote: > > Dear members, > > Has someone have a solution to include a bquote() statement in a list to be used with do.call() ? > > Here is an exemple: > scaleY <- 10000 > plot(x=1, y=1, ylab=bquote(.(format(scaleY), scientific=FALSE)^"-1")) > > Like that, it works. > > Now he same in a list: > L <- list(x=1, y=1, ylab=bquote(.(format(scaleY), scientific=FALSE)^"-1")) > do.call(plot, L) > Error in "10000"^"-1" : argument non num?rique pour un op?rateur binaire > > It produces an error. > > Any solution? > > (I tries also with substitute() and expression() but I fail also)Try this: L <- list(x=1, y=1, ylab=as.expression(bquote(.(format(scaleY), scientific=FALSE)^"-1"))) do.call(plot, L) `bquote` actually doesn't return an object with mode expression but rather of mode call, so sometimes as.expression is needed to coerce the result. The `expression` function isn't really designed to do that.> > Thanks > > Marc > > ______________________________________________ > R-help at 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.David Winsemius Alameda, CA, USA