Estoy luchando por trazar símbolos griegos como etiquetas de ejes. Debido a para recorrer varias parcelas con diferentes escalas, me gustaría usar un vector que contiene el nombre del símbolo en lugar de utilizar el nombre del símbolo dentro expression()
, que funciona bien:Trazar etiquetas de ejes con símbolos griegos de un vector
x <- rnorm(10, 5,6)
y <- rnorm(10, 2,1)
xlab <- expression(paste(mu, "mol/mol"))
plot(x,y, xlab = xlab)
Por alguna razón, no puedo reemplazar "mu" con un vector que contiene el nombre del símbolo:
k <- "mu"
xlab <- expression(paste(get(k), "mol/mol"))
plot(x,y, xlab = xlab)
encontré una question similares, pero lo que funcionó para funciones no parece funcionar para símbolos griegos:
ylab <- substitute(paste(nn, "mol/mol"), list(nn=k))
xlab <- bquote(.(k) * "mol/mol")
plot(x,y, ylab = ylab, xlab = xlab)
¿Qué hago mal? ¿Cómo obtener un símbolo griego para la etiqueta del eje a través de un vector?
expresión es una función primitiva. No evalúa sus argumentos. – vinux
¿Ayuda [este Q & A] (http://stackoverflow.com/questions/10042258/generate-a-list-of-expression-literals-from-an-integer-sequence)? – fotNelton
@fotNelton: Esto no funcionaría al menos: ylab <- do.call ("expresión", lapply (k, función (i) sustituto (k * "mol/mol", lista (k = i)))) – Mikko