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)
             }

        )

}

你可能感兴趣的:(R语言)