Sto cercando di tracciare i simboli greci come etichette degli assi. A causa di loop diversi appezzamenti con diverse scale, vorrei utilizzare un vettore che contiene il nome del simbolo invece di utilizzare il nome del simbolo all'interno expression()
, che funziona bene:Tracciare le etichette degli assi con simboli greci da un vettore
x <- rnorm(10, 5,6)
y <- rnorm(10, 2,1)
xlab <- expression(paste(mu, "mol/mol"))
plot(x,y, xlab = xlab)
Per qualche ragione, non posso sostituire "mu" con un vettore contenente il nome del simbolo:
k <- "mu"
xlab <- expression(paste(get(k), "mol/mol"))
plot(x,y, xlab = xlab)
ho trovato un simile question, ma che cosa ha funzionato per le funzioni non sembra funzionare per simboli greci:
ylab <- substitute(paste(nn, "mol/mol"), list(nn=k))
xlab <- bquote(.(k) * "mol/mol")
plot(x,y, ylab = ylab, xlab = xlab)
Cosa faccio di sbagliato? Come ottenere un simbolo greco sull'etichetta dell'asse attraverso un vettore?
espressione è una funzione primitiva. Non valuta i suoi argomenti. – vinux
Questo [Q & A] (http://stackoverflow.com/questions/10042258/generate-a-list-of-expression-literals-from-an-integer-sequence) aiuta? – fotNelton
@fotNelton: Questo non funzionerebbe almeno: ylab <- do.call ("espressione", lapply (k, funzione (i) sostituto (k * "mol/mol", lista (k = i)))) – Mikko