3

我的问题

我想ggplot()用一个表达式来注释 a 的每个方面,该表达式是统计测试产生的值的组合。我无法在geom_text().

一个类似的问题在这里被部分覆盖。不幸的是,我无法应用该特定示例。

我的目标

解析表达式结合数字、字符和特殊字符。在这种情况下,以下示例的lab2。

例子

p <- ggplot(mtcars, aes(mpg, wt)) + geom_point()

custom_label <- data.frame(cyl = c(4,6,8),
                           wt = c(5,5,5),
                           lab = c('X^2','X^2','X^2'),
                           lab2 = c('X^2: 18.5342, p =3e-04',
                                   'X^2: 4.7512, p =0.1909',
                                   'X^2: 15.3266, p =0.0016'))
p + facet_grid(. ~ cyl) +
  geom_text(data = custom_label, aes(x=30, y=wt, label = lab2), size = 3, parse = T)

这适用于使用 custom_label$lab,但使用 lab2 失败。

我很感激这方面的任何帮助。如果我清楚地提出我的问题,请告诉我。

提前致谢。

4

1 回答 1

2

实际上我会争辩说你没有得到一个真实的chi-squared,而是得到了一个X^2。这可能没问题,因为卡方变量的样本估计值通常被标记为 X^2,但是如果你想chi你需要使用chi (或者Chi对于看起来很像“X”的大写希腊语)。您需要使用双引号并构造为plotmath带有适当~*分隔符的表达式:

                      lab2 = c("chi^2*':'~18.5*', p =3e-04'",
                               "chi^2*':'~4.7*', p =0.1909'",
                               "chi^2*':'~15.3*', p =0.0016'")

运行 plotmath 的示例和演示:

?plotmath
demo(plotmath)
于 2013-03-26T16:11:28.977 回答