R:Plotly - 在一个图中创建多个箱线图作为一个组

Jes*_*sie 5 r plotly

我有一个如下所示的数据集,用于 250 个 ID

ID A_Male A_Female B_Male B_Female C_Male C_Female
1    25     75      40     60        20    80
2    30     70      50     50        80    20
3    50     50      30     70        20    80
Run Code Online (Sandbox Code Playgroud)

我想在 A、B、C 的 R 分组中使用 plotly 创建一个箱线图。我的箱线图应如下所示(示例图)。

必需的箱线图

但我没有一个可变列来分组它。

有没有办法可以使用 plot_ly 包在 R 中创建它?谢谢。

Jak*_*upp 5

您可以在绘图之前使用tidyr和包对数据进行一些处理来完成此操作。dplyr假设您的数据框是df.

library(dplyr)
library(tidyr)
library(plotly)

plot_data <- df %>%
  gather(variable, value, -ID) %>%
  separate(variable, c("group","gender"), sep = "\\_")
Run Code Online (Sandbox Code Playgroud)

然后,您可以plot_data使用plot.ly 以及新的组和性别变量来创建箱线图。

plot_ly(plot_data, x = ~group, y = ~value, color = ~gender, type = "box") 
Run Code Online (Sandbox Code Playgroud)