Wie kombiniert man do.call () plot () und expression ()

Ich erhalte eine Fehlermeldung, wenn ich versuche, mithilfe von zu kombinierenexpression mitdo.call undplot.

 x <- 1:10
 y <- x^1.5

Ich kann die Handlung erhalten, die ich will, indem ich nur die verwendeplot Funktion:

plot(y~x,xlab=expression(paste("Concentration (",mu,"M)")))

Ich möchte meinen Plot jedoch mit implementierendo.call. Ich habe eine sehr lange Liste von Parametern als Liste gespeichert,p. Allerdings, wenn ich versuche, die Liste zu übergebendo.call Ich erhalte folgenden Fehler:

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

Ich habe auch versucht, die Formel explizit in den Argumenten zu definieren, die an übergeben wurdendo.call. dhdo.call(plot,c(formula=y~x,p)). Ich verstehe nicht, warum ich den Fehler erhalte - insbesondere, weil Folgendes keinen Fehler ergibt:

do.call(plot,c(0,p))

(und gibt das gewünschte mu-Zeichen in der x-Achse an).

Antworten auf die Frage(3)

Ihre Antwort auf die Frage