bquote() in direct use for plot() or for a do.call(plot, ) use

The behavior of bquote() is different if it is used directly in a function or stored in a list to be used with de do.call():
Let try:

> plot(1, 1, ylab=bquote(expr = "1000"^"-1"))
> L <- list(x=1, y=1, ylab=bquote(expr = "1000"^"-1"))
> do.call(plot, L)
Error in "1000"^"-1" : argument non numérique pour un opérateur binaire

The correct solution is to convert the bquote() as an expression:

> plot(1, 1, ylab=as.expression(bquote(expr = "1000"^"-1")))
> L <- list(x=1, y=1, ylab=as.expression(bquote(expr = "1000"^"-1")))
> do.call(plot, L)

Commentaires

Posts les plus consultés de ce blog

Standard error from Hessian Matrix... what can be done when problem occurs

stepAIC from package MASS with AICc

Install treemix in ubuntu 20.04