我试图用回归模型中的相关数据在ggplot中注释一个图。 我已按照建议in this SO post尝试修改该功能,以便在图中的换行符中添加其他几项。 这是我尝试新功能:
lm_eqn = function(m){
eq <- substitute(italic(y) == a %.% italic(x)^b*","~~italic(r)^2~"="~r2*","~~italic(n)~"="~nn*","~~italic(p-value)~"="~pv,
list(a = format(exp(coef(m)[1]), digits = 3),
b = format(coef(m)[2], digits = 3),
r2 = format(summary(m)$r.squared, digits = 3),
nn=format(summary(m)$df[2]),
pv=format(summary(m)$coefficients[,4][2])))
as.character(as.expression(eq));
}
它产生预期的输出:全部在一行中。但我想将文本拆分为两行,第二行以italic(n)=
开头。但是如果我引入\n
,它会在找到\n
时抛出错误。如果我在引号:"\n"
中引入\ n,那么它似乎被忽略,文本仍然在一行中。我还没有找到关于如何在这样的表达式中引入换行符的任何参考。非常感谢您的帮助。
感谢。
编辑:在@Tim的一篇文章之后,我提出了一个重写代码和调整后的问题。
答案 0 :(得分:1)
\n
无法在plotmath
表达式中使用。您可以将表达式分为两部分,并使用annotate
将表达式添加到您想要的位置。或者,使用atop
。看看这篇文章 - &gt;
Line break in expression()?