用了这个参数的箱线图看着很不一样

2024-07-30 16:08:36 浏览数 (2)

这是用户反馈的一个报错问题,错误信息是:

代码语言:javascript复制
Error in cut.default(data[[xvariable]], xvariable_cut) : invalid number of intervals Calls: sp_boxplot -> cut -> cut.default Execution halted

通过用户提供的重分析链接,看到了参数X-axis variable manual cut设置为 0=A 1=B 2=C 3=D 4=E,这是引发错误的根源。

这个参数是用来做什么的,我们后面再说。从这个参数设置,我猜测用户的用意是把数字转成字母来展示。那我们先看下用户的数据,粘贴到 Excel 里面,用下数据的筛选功能 (数据已脱敏处理),看到分组列确实是 5 个组。

这里比较简单的方式是把数字和组名的对应关系,写到一个 Exccel 中,如下:

代码语言:javascript复制
Num   Name
0   A
1   B
2   C
3   D
4   E

然后把上面 excel 中的原始数据和你新写的这个数字-分组对应关系数据粘贴到Megre matrix功能里面。

获得输出矩阵,再输入到 Boxplot 绘图工具中,其它参数默认,只修改图中黄色高亮的参数,如下:

提交后,获得结果

看上去趋势很明显,再加个统计分析,看下差异是否显著

我们看第二个方式,如果是基于 cut 怎么做?参数修改如下:

  • X-axis variable 选择 group
  • X-axis variable manual cut 输入 5,表示分成 5 组

提交后,获得结果 (分割区间是前开后闭)

当然 cut 也可以这样设置,参数修改如下:

  • X-axis variable 选择 group
  • X-axis variable manual cut 输入 -0.5,0.5,1.5,2.5,3.5,4.5,表示分成 5 组

提交后,获得结果

这里缺少一个横轴名字重命名的功能,只能按照数字分割区间来展示横轴的名字了 (这个功能涉及要求用户输入的东西比较多,暂时先没有加在网站上,但可以自己下载代码本地增加这个参数使用)。

具体修改见下图:

0 人点赞