在做项目的时候,发现需要多次绘制散点图和图例,以及计算线性回归的拟合公式和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) } ) } |