废话不多说,先上图:
![0040aea6432b27fc5ee284f1de7eca64.png](https://i-blog.csdnimg.cn/blog_migrate/94d30d69a8fa3e5cea927864992dff73.jpeg)
此图⽐普通的均值折线图代表了更多的信息。下⾯我就⼀步⼀步展示怎样得到这样的 boxplot 和中位数折线图。主要⽤到2个 R 包 latex2exp 和 ggplot2. ggplot2是画图的主⻆,latex2exp可以让 legend, title,x-axis label 和 y-axis label 的中的$LaTeX$ 正常显示, 如上图中的$M_{alpha}$ 和 $M_{beta}$。下⾯我介绍⼀下数据的类型。
数据说明
在统计实验中,我们会遇到这样类型的数据:$x$ 表示条件,等间隔取值。⽐如在上图中我 给的$x$值是:-0.95:0.1:0.95,间隔 0.1,共 20 个值。在每个指定的 $x_i,i=1,...,20$下,我们⽐较两种统计⽅法:$M_{alpha}$ 和 $M_{beta}$,计算他们 各⾃的损失,并且每种⽅法重复$N$次。这样我们分别得到 2 个loss matrix, ⼤⼩是:$20imes N$。
基本逻辑
ggplot2包的精髓就是图层(layer), 通过控制图层,我们⼏乎可以画出任何精美的图表, 也正因为如此,ggplot2 的主要作者Hadley Wickham 2019 年获得了号称"统计学界诺⻉尔 奖"--COPSS Presidents ̓Award。拿⼤神的⼯具来画上⾯的图,当然是⼩菜⼀碟了,就像做 三明治,我们⼀层⼀层的把需要的图层叠加起来就得到了需要的图。
箱型图
在画箱型图之前,我们需要对损失矩阵做⼀下处理,先贴代码:
m_alpha_df
m_alpha 和 m_beta 分别代表$M_{alpha}$ 和 $M_{beta}$⽅法得到的矩阵。m_alpha_df 是数据框(dataframe),⾥⾯有两个变量 loss 和 cond, loss就是损失矩阵按列拉直, co