簡體   English   中英

R:Plotly - 在一個圖中創建多個箱圖作為一個組

[英]R:Plotly - Creating Multiple boxplots in one graph as a group

對於250 Ids,我有一個如下數據集

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

我想在A,B,C的R分組中使用plotly創建一個boxplot。 我的箱圖應該如下所示(樣本圖)。

必需的Boxplot

但我沒有可變列來對此進行分組。

有沒有辦法可以使用plot_ly包在R中創建它? 謝謝。

您可以在繪制之前使用tidyrdplyr包對數據進行一些處理來完成此操作。 假設您的數據框是df

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

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

然后,您將使用plot_data使用plot_data創建包含新組和性別變量的箱圖。

plot_ly(plot_data, x = ~group, y = ~value, color = ~gender, type = "box") 

您可以簡單地嘗試這一點(其中df是您提供的示例數據,開頭):

df <- melt(df, id='ID')
df[c('type', 'gender')] <- do.call(rbind, strsplit(as.character(df$variable), split='_'))

plot_ly(df, x = type, y = value, color = gender, type = "box") %>% 
         layout(boxmode = "group", 
         xaxis = list(title=''), 
         yaxis = list(title='Percentage (%)'))

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM