R语言:我写的一个数据可视化的函数,散点图和线性回归趋势线及公式
在做项目的时候,发现需要多次绘制散点图和图例,以及计算线性回归的拟合公式和R2,为了方便处理,特编写了这个函数,希望对大家有所帮助。
也欢迎大家提出报给的改进建议或者更多的需求组合。具体的可视化函数如下。
其中,data.xts是tidy的时间数据集,调用时只需要给出time和lie这2个变量,lie的格式是data.xts的第几个字段。sandiantu函数直接绘制散点图
qushixian函数将添加趋势线,并显示公式和R2,在Rmd格式中使用效果更好。数据分析培训
sandiantu<-function(time,lie){
a<-names(data.xts)[lie][1]
b<-names(data.xts)[lie][2]
with(as.dataframe(data.xts[time,lie]),
{
plot(get(b) ~ get(a),xlab=a,ylab=b,col='lightgray',lwd=1)
})
}
qushixian<-function(time,lie){
a<-names(data.xts)[lie][1]
b<-names(data.xts)[lie][2]
with(as.dataframe(data.xts[time,lie]),
{
reg<-lm((get(b)~get(a)))
abline(reg,col="red",lty=3,lwd=3)
gongshi<-paste("y=",substr(summary(reg)$coef[2,1],1,6),"x+",
substr(summary(reg)$coef[1,1],1,6),sep='')
rfang<-paste("R2=",substr(summary(reg)$r.squared,1,6),sep='')
gongshi2<-paste("y=",summary(reg)$coef[2,1],"x+",
summary(reg)$coef[1,1],sep='')
legend("topright", legend = c(gongshi,rfang))
print(gongshi2)
print(rfang)
}
)
}
数据分析咨询请扫描二维码