在R中分组箱线图轴名称

在R中分组箱线图轴名称,r,label,axis,boxplot,R,Label,Axis,Boxplot,我正在使用显示为多个箱线图的数据集。我已经根据测量的周数手动将箱线图分组,以对齐为组。但是,在轴中排列每个单独的测量日期会使特定轴无法读取 因此,我希望将特定区域中的所有x轴标签组合到“Week#”。 代码基于boxplot命令 boxplot(dfswe, ylab ='SWE [mm]', xlab ='Time', las = 2, main ='SWE over time', col = colcolours[1:34], at = c(1,4,5,6

我正在使用显示为多个箱线图的数据集。我已经根据测量的周数手动将箱线图分组,以对齐为组。但是,在轴中排列每个单独的测量日期会使特定轴无法读取

因此,我希望将特定区域中的所有x轴标签组合到“Week#”。

代码基于boxplot命令

boxplot(dfswe, ylab ='SWE [mm]', xlab ='Time', las = 2, main ='SWE over time', 
        col = colcolours[1:34],
        at = c(1,4,5,6,7,8,9,10,11,14,15,16,17,20,21,22,23,26,27,28,29,32,33,34,35,36,37,38,39,40,43,44,47,50),
        names = colcolours[1:34]) 
dfswe是一个由34列组成的简单数据帧

我尝试过将箱线图分组的其他技术,但没有找到处理不规则分组的方法。有些星期比其他星期包含更多的测量值

dput:

dput(droplevels(dfswe))
structure(list(`07/02/2019` = c(82.68852496, 84.32592149, 90.05680936, 
81.05112843, NA, NA), `11/02/2019` = c(91.6942059, 79.41373189, 
91.6942059, 79.41373189, NA, NA), `11/02/2019` = c(63.03976655, 
72.86414576, 72.86414576, 73.68284402, 78.59503363, 70.40805096
), `13/02/2019` = c(72.86414576, 72.86414576, 87.60071456, 87.60071456, 
NA, NA), `13/02/2019` = c(87.60071456, 100.6998868, 88.41941283, 
88.41941283, 81.05112843, NA), `13/02/2019` = c(75.32024056, 
68.77065442, 74.50154229, 74.50154229, 62.22106829, 58.94627522
), `13/02/2019` = c(86.78201629, 76.13893882, 72.86414576, NA, 
NA, NA), `16/02/2019` = c(46.39290179, 48.84899659, 50.75929255, 
NA, NA, NA), `16/02/2019` = c(45.84710295, 48.30319775, 57.30887869, 
34.38532721, 27.50826177, NA), `19/02/2019` = c(79.41373189, 
71.22674922, 62.22106829, 54.85278388, 27.01704281, NA), `19/02/2019` = c(27.83574108, 
43.39100815, 44.20970641, 55.67148215, NA, NA), `19/02/2019` = c(17.19266361, 
24.56094801, 0, NA, NA, NA), `19/02/2019` = c(34.38532721, NA, 
NA, NA, NA, NA), `20/02/2019` = c(77.77633536, 65.49586135, 62.22106829, 
22.92355147, NA, NA), `20/02/2019` = c(22.92355147, 15.55526707, 
NA, NA, NA, NA), `20/02/2019` = c(28.65443934, 35.20402548, 42.57230988, 
54.03408562, NA, NA), `20/02/2019` = c(14.7365688, 22.10485321, 
NA, NA, NA, NA), `26/02/2019` = c(85.96331803, 72.86414576, 76.13893882, 
49.12189602, 29.47313761, NA), `26/02/2019` = c(0, 0, 0, 0, 0, 
NA), `26/02/2019` = c(0, 0, 0, 0, 0, NA), `26/02/2019` = c(0, 
0, 0, 0, 0, NA), `04/03/2019` = c(28.65443934, 32.74793068, 39.29751681, 
44.20970641, NA, NA), `06/03/2019` = c(88.41941283, 85.96331803, 
76.95763709, 29.47313761, 38.47881855, NA), `06/03/2019` = c(3.192923241, 
3.192923241, 3.192923241, 3.192923241, NA, NA), `06/03/2019` = c(3.192923241, 
3.192923241, 25.78899541, 3.192923241, 49.12189602, NA), `06/03/2019` = c(3.192923241, 
3.192923241, 3.192923241, 3.192923241, NA, NA), `08/03/2019` = c(85.96331803, 
82.68852496, 70.40805096, 67.95195616, 27.83574108, NA), `08/03/2019` = c(15.55526707, 
18.83006014, 11.46177574, 10.64307747, NA, NA), `08/03/2019` = c(16.37396534, 
22.10485321, 13.09917227, 11.46177574, NA, NA), `11/03/2019` = c(112.9803608, 
103.9746799, 98.24379203, 50.75929255, 29.47313761, NA), `11/03/2019` = c(25.37964627, 
24.56094801, 21.28615494, 19.64875841, NA, NA), `11/03/2019` = c(28.65443934, 
22.92355147, 19.64875841, 19.64875841, NA, NA), `18/03/2019` = c(139.1787054, 
130.9917227, 129.3543262, 54.03408562, 34.38532721, NA), `28/03/2019` = c(110.524266, 
115.4364556, 81.86982669, 0, 0, NA)), row.names = c(NA, -6L), class = "data.frame")

这里有一个使用
tidyverse
的解决方案:

#库
图书馆(lubridate)
#> 
#>帕凯特武官:“润滑”
#>以下对象已从“package:base”屏蔽:
#> 
#>日期
图书馆(tidyverse)
#创建唯一的colname
colnames(dfswe)%
突变(日期=dmy(子序列(日期1,1,10))%>%
变异(周=同系数(周(日期)))%>%
分组人(日期,日期1)%>%
变异(当(nchar(date1)==10~0,TRUE~as.numeric(substr(date1,12,12)))时,样条=案例_)%>%
突变(样条=样条+1)%>%
解组()
#添加缺少的一周

dfswe.p$week能否添加dfswe的
dput
?或者一个最小的可复制示例,谢谢!我一直在寻找方法,以包括一个可复制的例子,没有发现这是感谢思考!我想用SWE的名字作为日期可能有问题。即使将它们设置为.Date,突变也会产生错误:错误:列名
2020-02-11
2020-02-13
2020-02-13
2020-02-13
2020-02-16
。。。(以及16个以上)不得重复。使用.name\u repair指定修复。感谢您提供的df。某些日期在列中多次出现(例如,2019年3月11日),这是有意的吗?不幸的是,是的!由于可能在一个日期测量了多个横断面,因此在日期显示方面会有重复。您是否在初始图表中处理了该倍数?看起来每天只有一个箱线图?是否要对箱线图使用所有重复项的所有测量值?