1

我正在尝试合并用 bquote 制作的两个表达式。例如:

a = 1
b = 2

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

有没有办法做类似于x12 = paste(x1, x2, collapse = "some symbol")不做的事情:

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

非常感谢!

4

1 回答 1

0

您可以编写一个结合 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))

结果是:

显示表达式的结果图

请注意,paste在 plotmath 中没有sep参数。你可能想学习help("plotmath")

于 2017-06-01T09:28:07.357 回答