当parse = TRUE时,换行符后的字符不显示为geom_text //意外的符号错误 MWE:

我正在尝试使用geom_text绘制一些多面散点图的回归信息。具体来说,我想显示的信息是:R2,p值和回归方程。我希望他们每个人都分开一行。由于遇到两个问题,我无法成功执行此操作:

  1. 我需要在parse = TRUE中设置geom_text,以便正确显示 R ^ 2 上标。但是,这样做时,不显示换行符之后的字符。如果parse = FALSE不会发生,但是上标需要它。是什么导致这种行为?我该如何解决?
  2. 对于表示为y = b + ax的回归方程式,我得到一个意外的符号错误,它指向方程式末尾的 x 。例如,对于下面显示的MWE,将返回以下错误:
  

解析错误(text = text [[i]]):: 3:42:意外符号

     

2:p == 1.4898364962951e-12

     

3:y == 8.28390564178717 + 0.165567574644319x

                                             ^

为什么在数字末尾添加字符会出现此错误?在数字和 x 之间添加空格并不能解决问题。同样,设置parse = FALSE可以避免此问题。我显然缺少有关parse的工作方式的信息。

MWE:

# Load data
cars.df <- cars

# Fit linear regression model:
fit <- lm(data = cars.df,speed ~ dist)

# Create a new dataframe to plot regression information with geom_text:
fit.labs <- data.frame(x = 100,y = 12,lab = paste0("R^2 == ",summary(fit)$r.squared,"\np == ",summary(fit)$coefficients[8]))

library(ggplot2)

# Plot data + regression line + label
ggplot() +
  geom_point(data = cars.df,aes(x = dist,y = speed)) +
  geom_abline(slope = summary(fit)$coefficients[2],intercept = summary(fit)$coefficients[1]) +
  geom_label(data = fit.labs,aes(x = x,y = y,label = lab),parse = TRUE)

# Characters after the newline are not displayed. It does not happen if parse is set to FALSE. 

# New df to add regression equation:
fit.labs2 <- data.frame(x = 100,summary(fit)$coefficients[8],"\ny == ",summary(fit)$coefficients[1]," + ",summary(fit)$coefficients[2],"x"))

ggplot() +
  geom_point(data = cars.df,intercept = summary(fit)$coefficients[1]) +
  geom_text(data = fit.labs2,parse = TRUE)
ckm5138 回答:当parse = TRUE时,换行符后的字符不显示为geom_text //意外的符号错误 MWE:

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3130974.html

大家都在问