2017-05-31 4 views
1

J'essaie de fusionner deux expressions faites avec bquote. Par exemple:Fusion d'expressions pour tracer

a = 1 
b = 2 

x1 = as.expression(bquote(paste("Something ", alpha, " = ", .(a), sep = ""))) 
x2 = as.expression(bquote(paste("Something else ", beta, " = ", .(b), sep = ""))) 

est-il un moyen de faire quelque chose de similaire à x12 = paste(x1, x2, collapse = "some symbol") sans faire:

x12 = as.expression(bquote(paste("Something ", alpha, " = ", .(a)," some symbol ", 
"Something else ", beta, " = ", .(b), sep = ""))) 

Merci beaucoup!

Répondre

0

Vous pouvez écrire une petite fonction qui combine les expressions plotmath:

a = 1 
b = 2 

x1 = bquote("Something " * alpha == .(a)) 
x2 = bquote("Something else " * beta == .(b)) 

comb_plotmath <- function(...) { 
    Reduce(function(x, y) substitute(x * y, env = list(x = x, y = y)), 
     list(...)) 
} 


plot.new() 
text(0.5, 0.5, comb_plotmath(x1, " some symbol ", x2)) 

Résultats dans:

resulting plot displaying the expression

Notez que paste dans plotmath n'a pas de paramètre sep. Vous pourriez vouloir étudier le help("plotmath").

+0

Parfait! Merci beaucoup! – user304347