最近在做关于数据点线性拟合相关的研究,感觉R语言在这方面很方便,而且生成的图片很漂亮,所以在这里和大家分享一下代码。
这是别人所绘制的拟合图像,很漂亮,自己也用iris鸢尾花数据集进行一个线性拟合看看:
拟合线性模型最基本的函数就是lm(),格式为:myfit<-lm(formula,data)
formula指要拟合的模型形式,data是一个数据框,包含了用于拟合模型的数据
formula形式如下: Y~X1+X2+……+Xk (~左边为响应变量,右边为各个预测变量,预测变量之间用+符号分隔)
library(rio)
library(ggplot2)
library(ggsignif)
library(reshape2)
library(ggpubr)
library(readxl)
library(tidyverse)
data("iris")
model.lm <- lm(iris$Sepal.Length ~ iris$Petal.Length, data = iris)
summary(model.lm)
l <- list(a = format(coef(model.lm)[1], digits = 4),
b = format(abs(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))
l
eq <- substitute(italic(y) == 4.307~italic(x)+0.4089~","~italic(R)^2~"="~r2~","~italic(P)~"="~p, l)
ggplot(iris, aes(x = Petal.Length,y = Sepal.Length))+
geom_smooth(method = "lm", se=FALSE, color="black", formula = y ~ x) +
geom_point(color = "blue",size=3,shape=21)+
theme_bw()+
theme(text=element_text(size=12, family="serif"))+
theme(panel.grid = element_blank())+
geom_text(aes(x = 5.5, y = 4.3, label = as.character(as.expression(eq))), parse = TRUE)
显著性分析结果:
线性拟合的结果:
文章来源:https://www.toymoban.com/news/detail-514561.html
结果展示:
希望对大家有帮助!文章来源地址https://www.toymoban.com/news/detail-514561.html
到了这里,关于R语言绘图:实现数据点的线性拟合,进行显著性分析(R-squared、p-value)、添加公式到图像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!