Ricevo un errore quando provo a combinare utilizzando expression
con do.call
e plot
.Come combinare do.call() plot() ed expression()
x <- 1:10
y <- x^1.5
posso ottenere la trama che voglio utilizzando solo la funzione plot
:
plot(y~x,xlab=expression(paste("Concentration (",mu,"M)")))
Tuttavia, vorrei realizzare il mio grafico usando do.call
. Ho una lunga lista di parametri memorizzati come lista, p
. Tuttavia, quando provo e passo l'elenco per do.call
ricevo il seguente errore:
p <- list(xlab=expression(paste("Concentration (",mu,"M)")))
do.call(plot,c(y~x,p))
Error in paste("Concentration (", mu, "M)") :
object 'mu' not found
Ho provato anche la definizione della formula esplicitamente nei args passati alla do.call
. vale a dire. do.call(plot,c(formula=y~x,p))
. Non capisco perché sto ottenendo l'errore - soprattutto perché il seguente non dà un errore:
do.call(plot,c(0,p))
(e dà il carattere mu desiderato nella Xaxis).
+1 per la tua interessante osservazione sul comportamento di 'do.call (trama, c (0, p))'. –
possibile duplicato di [plot() e do.call(): come passare le espressioni per tracciare il titolo quando '...' è usato in altro modo?] (Http://stackoverflow.com/questions/13982856/plot-and- do-call-how-to-pass-expression-to-plot-title-when-is-used-o) – Metrics
@Metrics Ho letto quella domanda prima di postare. – dayne