lisp 线性标注自动避让_批量线性回归分析利器anylm——FOQAT包的重要更新

75ef7119e0482fca9ec5d17bd9fb0839.png

关于FOQAT包的介绍请点击阅读:FOQAT包介绍 或者 中文说明手册。

FOQAT包迎来一个重要功能更新:anylm。顾名思义,这个功能目的就是让线性回归分析更加随心所欲。主要特点如下:

  1. 批量计算线性相关系数、线性回归斜率、线性回归截距、线性回归P值。结果汇总到表。
  2. x和y以及填充颜色(z)三个维度都可以选择多个物种。
  3. 支持第四维度操作即数据分组(t)。
  4. 批量出图:输出一个包含所有图的页面。图的id与输出结果中的行号、id对应。
  5. 输出结果中还包含每组线性回归数据的详细信息(数据、图、线性回归结果),可以单独导出,进行进一步处理。
  6. 支持多种线性回归方法(OLS、MA、SMA、RMA)。

本功能提供了一个基础框架,可以根据实际应用场景设置参数(不限于时间序列数据)。例如:

  • 探索颗粒物多种组分之间(x、y)的相关性;
  • 探索某种污染物(x)与其他多种污染物(y)的相关性,并探索其他多种物理化学因素(z)对相关性的影响;
  • 探索臭氧(y)周末效应(工作日和周末,分组t)的年际(x)变化。
  • ······

下面演示一个简单例子以说明功能:

本例子探索内置数据集aqi的相关性。按天分组,探索每天的O3和NO以及NO2的相关性。并以CO作为填充颜色探索CO对相关性的影响。

#安装官方包‘remotes’
install.packages("remotes")
#调用其中的‘install_github’函数安装foqat包
remotes::install_github("tianshu129/foqat")
#载入foqat包
library(foqat)
#载入lubridate包,在数据集中加入额外一列day表示自然日,以便于按天分组。
library(lubridate)
df=data.frame(aqi,day=day(aqi$Time))
#批量进行线性回归分析
x=anylm(df, xd=c(2,3), yd=6, zd=4, td=7,dign=3)

Rstudio右下角plot区域会生成包含所有图的页面,但是排版较乱。点击zoom放大看大图。

daff666c0fd6d541b05cd096ee6d7490.png

得到排版清晰的大图(可以拖拽窗口调整比例):

b28a5acb21f7968aa5035feb00ccafb1.png
结果:线性回归汇总页面

图上方为图的id、相关系数、斜率、分组代号。id与结果汇总表的行号、详细结果列表的序号和图列表中的序号对应。

图例色阶标注数值为0%、25%、50%、75%、100%的数值。

点击右上方Environment中的结果x,左上方会显示结果的内容:

4f861954e860d6abdbc03e51e0fbbd94.png
结果:结果列表

其中包含的几部分简述如下。

  1. data_list

99bc773cc42a338601936ed18ebb0106.png
结果:data_list数据结构

多级列表对数据进行细分,层次依次为:x->y->z(如果有)->t(如果有)。可以快速找到所关注的回归结果对应的数据组,并导出。

2. lm_df

a6ebda877c137da05a2b1a13662011ea.png
结果:批量线性回归结果汇总表

该表汇总了批量线性回归的结果,行号与页面id对应。

3. lm_list

5e2dac2877c1d643e41b4ca6dd507393.png
结果:详细线性结果的列表

该列表中存储了每一组线性回归的详细回归结果,序号与页面id对应。可供查阅导出。

4. plot_list

d0f83b48656de517e7dd57ae5c239eed.png
结果:图的列表

本列表中包含你在总页面中看到的所有图,序号与页面id对应。格式为ggplot。可以导出后用ggplot2包进行加工。

5.all_plot

一个存储了所有图的汇总页面。默认在得到结果后会自动显示。​可以通过showpage=FALSE来关闭总图页面的显示(在数据量大的时候,建议启用)。

可以用gridExtra::grid.arrange()函数来展示总图页面all_plot。

可以用ridExtra::arrangeGrob()+ggplot2::ggsave()函数来输出总图页面all_plot。

#显示和输出总图页面all_plot
gridExtra::grid.arrange(grobs=x[["all_plot"]], nrow=5)
g <- gridExtra::arrangeGrob(grobs=x[["all_plot"]], nrow=5)
ggplot2::ggsave(filename="example.jpg", plot=g)

以上为输出的数据结构。

本包还在更新中。欢迎多多使用,多给反馈,多提建议。

欢迎关注我的公众号:Magic Air Code

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值