我有以下数据集(这只是数据集的缩减,但它具有较 Big Data 集的所有特征)

df <- structure(list(Modality = c("IMU", "IMU", "IMU", "IMU", "EMG", 
"EMG", "EMG", "EMG", "EMG", "EMG", "MULTIMODAL", "MULTIMODAL", 
"MULTIMODAL", "MULTIMODAL", "MULTIMODAL", "MULTIMODAL"), Accuracy = c(0.890994094, 
0.932236205, 0.920874879, 0.808366656, 0.736169166, 0.727917473, 
0.76442499, 0.766358025, 0.672936004, 0.544758539, 0.922476135, 
0.958934517, 0.889652539, 0.878411911, 0.800769442, 0.9035499
), Precision = c(0.910120428, 0.935881939, 0.930419589, 0.858438788, 
0.783804275, 0.803642164, 0.867418091, 0.826140299, 0.651388637, 
0.683146414, 0.931054424, 0.960414109, 0.913705853, 0.892099619, 
0.827661119, 0.917972446), Recall = c(0.890994094, 0.932236205, 
0.920874879, 0.808366656, 0.736169166, 0.727917473, 0.76442499, 
0.766358025, 0.672936004, 0.544758539, 0.922476135, 0.958934517, 
0.889652539, 0.878411911, 0.800769442, 0.9035499), F1_Score = c(0.895340797, 
0.929767228, 0.923515392, 0.820549586, 0.740460186, 0.743306797, 
0.771715283, 0.778685153, 0.654271508, 0.562382109, 0.923856378, 
0.958423427, 0.894510388, 0.881315329, 0.804600327, 0.905468385
), Model = c("CNN", "CNN", "LSTM", "CNN-LSTM", "LSTM-CNN", "CNN", 
"LSTM", "LSTM-CNN", "CNN-LSTM", "CNN", "CNN", "LSTM", "CNN", 
"LSTM-CNN", "CNN-LSTM", "CNN-LSTM")), class = c("tbl_df", "tbl", 
"data.frame"), row.names = c(NA, -16L))

我想做盒子图,在那里我比较医疗模式和按模型分组.我正在使用以下代码:

library(ggpubr)
library(dplyr)

p <-ggboxplot(df, x = "Model", y = "Accuracy", color = "Modality", 
          palette = "jco", 
          add = "jitter", ylab = "Accuracy",
          width = 0.7,
          lwd = 1.35,
          xlab = "Model", legend = "right") +
  
  ggtitle("Boxplot of Accuracy by Model and Modality") +
  theme_minimal()
anyNA(df)

情节是正确的.我得到了每个模型的3个盒子图,其中的通道进行了比较.现在,我想添加一个相同模型中的医疗设备之间的统计比较.为此,我添加了以下代码行:

p + stat_compare_means(comparisons = list(c("EMG", "IMU")), method = "wilcox.test", label = "p.signif")

但目前还没有出现统计检验.问题是,我不能在同一模型中添加关于通道的统计测试.

推荐答案

我认为这个问题与您的排行榜布局有关.?stat_compare_means帮助文件对comparisons参数的预期输入描述如下:

长度为2的向量的列表.向量中的条目为 X轴上的2个值的名称或 对应于要比较的兴趣组的索引.

因此,听起来您想要比较的组需要显示在x轴上,但您的原始绘图在图例中显示了通道.

这段代码颠倒了模型和模式的位置.通过这种调整,利息的比较显示为预期的结果.

p <-ggboxplot(df, x = "Modality", y = "Accuracy", color = "Model", 
              palette = "jco", 
              add = "jitter", ylab = "Accuracy",
              width = 0.7,
              lwd = 1.35,
              xlab = "Modality", legend = "right") +
  
  ggtitle("Boxplot of Accuracy by Model and Modality") +
  theme_minimal()+ 
  stat_compare_means(comparisons = list(c("EMG", "IMU")), method = "wilcox.test", label = "p.signif")

R相关问答推荐

导入到固定列宽的R中时出现问题

更改网格的crs以匹配简单要素点对象的crs

卸载安装了BRM的模型发出的警告

列出用m n个值替换来绘制n个数字的所有方法(i.o.w.:R中大小为n的集合的所有划分为m个不同子集)

寻找图片边缘

多重RHS固定估计

过滤器数据.基于两列的帧行和R中的外部向量

在"gt"表中添加第二个"groupname_col",而不连接列值

Rplotly中的Sankey Diagram:意外连接&

在组中添加值增加和减少的行

当我们有多个特殊字符时,使用gsub删除名称和代码'

从多层嵌套列表构建Tibble?

从数据创建数字的命名列表.R中的框

使用R将简单的JSON解析为嵌套框架

按镜像列值自定义行顺序

按组使用dummy r获取高于标准的行的平均值

每行不同列上的行求和

具有自定义仓位限制和计数的GGPLATE直方图

如何将字符类对象中的数据转换为R中的字符串

在具有条件的循环中添加行