R语言绘图中添加公式

2021-10-11 11:15:58 浏览数 (1)

R语言在作图时难免会用到公式,往途中添加标签公式的方法有很多,R基础包自带的expression函数就是一个,除此之外还有latex2exp可以在R语言中使用latex的命令来给图片添加公式。本文基于expression函数常用的命令从常用的运算符、大型运算、集合运算、希腊字母等方面给出常用的公式命令。

代码语言:javascript复制
x <- seq(0, 4, 0.01)
y <- sqrt(x)
tt <- expression(y == sqrt(x)) # 构建公式
plot(x, y, type = 'p', main = "手动添加公式",las = 1)
text(3,1,labels= tt, cex=1.5,col = "red") # 添加公式
代码语言:javascript复制
data("faithful")
library(ggplot2)
p <- ggplot(faithful,aes(x=eruptions,y=waiting))   
  geom_point()   
  stat_smooth(method='lm',formula = y~x,colour='red')

model.lm<-lm(formula = waiting ~ eruptions, data = faithful)
#summary(model.lm)
#对于一元线性回归方程y=ax b,Intercept是指的截距,x对应的是系数。

l <- list(a = as.numeric(format(coef(model.lm)[1], digits = 4)),
          b = as.numeric(format(coef(model.lm)[2], digits = 4)),
          r2 = format(summary(model.lm)$r.squared, digits = 4),
          p = format(summary(model.lm)$coefficients[2,4], digits = 4))

eq <- substitute(italic(y) == a   b %.% italic(x)~","~italic(R)^2~"="~r2~","~italic(P)~"="~p, l)

p     
  labs(title = as.expression(eq))  
  geom_text(aes(x = 4, y = 50, label = as.character(as.expression(eq))), parse = TRUE)

0 人点赞