分享

如何一条代码优雅的计算任意数量的线性回归图表

 微生信生物 2021-01-16

写在前面

回归,是我们经常用到的分析手段,对于结果的确定比差异分析和相关分析都要更加深入,所以无论是大小文章,都可以看到回归的影子。

今天我来带大家,仅仅需要一条代码,就将这个分析做的透明,透彻,审稿人无话可说。

今天我会将方程,回归系数,p值都计算出来。

载入需要的R包

require(ggplot2)
require(reshape2)
library(dplyr)

开始分析作图

data(mtcars2)

iris_groups<- group_by(mtcars2, variable)

df_summarise<- summarise(iris_groups, mean(mpg), mean(value))

lab = mean(mtcars2$mpg)

#----我们使用的都是同样的y做相关,所以呢都是相同的
ggplot2::ggplot(mtcars2,aes(value,mpg, colour=variable)) +
ggplot2::geom_point() +
ggpubr::stat_cor(label.y=lab*1.1)+
ggpubr::stat_regline_equation(label.y=lab) +
facet_wrap(~variable, scales="free_x") +
geom_smooth(aes(value,mpg, colour=variable), method=lm, se=T)+
theme_grey()

如果你有余力,请阅读下面自定义回归如何做

##模拟数据
set.seed(20160227)
x<-seq(0,50,1)
y<-((runif(1,10,20)*x)/(runif(1,0,10)+x))+rnorm(51,0,1)

data = data.frame(x = x,y = y)

#自定义函数
m<-nls(y ~ a*(1-exp(1)^(-k*x)),start=c(a=30,k=20))
m

#评估模式适合度
cor.test(y,predict(m))

cor(y,predict(m))
a = 12.43
k = 0.1095

欢迎加入微生信生物

这就是你认识的微生信生物

微生信生物

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多