1

我在 R 中绘制直方图,我想在参数中包含一个 $\bar{X}$ 表达式,main并将hist其与动态计算变量的值结合起来average

x <- rnorm(100, 1, 1)
average <- mean(x)
hist(x, main=paste("Average $\bar{X}=", average))

那个 SO 不起作用,我花了几个小时试图让它与一个expression语句或一个substitute语句一起工作,在这两种情况下,我都没有在文本中替换变量值的示例中找到这种情况。

4

2 回答 2

1

尝试:

hist(x, main=bquote(Average~bar(X)==.(average) )

bquote的主要用途是将全局(或封闭)环境中的命名值“导入并评估”到表达式中,否则该表达式不会评估其标记。您可以添加空格以使表达式更具可读性,但解析器会忽略它们:

 hist(x, main=bquote( Average ~ bar(X) == .( average ) )

如果您需要额外的空格,请使用多个波浪号:~~~

查看 bquote 的代码很有趣(很容易,因为它没有隐藏):

bquote
于 2013-11-08T21:07:22.420 回答
1

此解决方案用于*粘贴文本和表达式,并用于substitute将“平均值”替换为计算值。

hist(x, main = substitute("Average "*bar(x)*" = "*average, list(average=average)))
于 2013-11-08T21:10:47.270 回答