R - 基于 3 个变量的一张图表中的双箱线图

Posted

技术标签:

【中文标题】R - 基于 3 个变量的一张图表中的双箱线图【英文标题】:R - double boxplot in one chart based on 3 variables 【发布时间】:2021-11-01 08:55:12 【问题描述】:

问题是在一个图表中有两个基于不同列的图表

How chart should look like

示例数据

set.seed(42) 
data <- data.frame(Id=1:20, 
Q_3_1=sample(1:6, 20, replace=TRUE), 
Q_3_2=sample(1:6, 20, replace=TRUE), 
Level=sample(c("AAAA", "BBBB", "CCCC", "DDDD"), 20, replace=TRUE))

【问题讨论】:

如果您包含一个简单的reproducible example 以及可用于测试和验证可能的解决方案的示例输入,则更容易为您提供帮助。不要将数据作为图像发布。我们不能将其复制/粘贴到 R 中进行测试。展示您迄今为止的尝试,并清楚说明您卡在哪里。 【参考方案1】:

如果我理解正确,这里是tidyverse 解决方案:

library(tidyverse)

数据

set.seed(42) 
data <- data.frame(Id=1:20, 
                   Q_3_1=sample(1:6, 20, replace=TRUE), 
                   Q_3_2=sample(1:6, 20, replace=TRUE), 
                   Level=sample(c("AAAA", "BBBB", "CCCC", "DDDD"), 20, replace=TRUE))

绘图代码

data %>% 
   #Pivot data to create a single column with all values from Q_3_1 to Q_3_2
   pivot_longer(cols = Q_3_1:Q_3_2) %>% 
   ggplot(aes(name,value, fill = Level))+
   geom_boxplot()

输出

【讨论】:

以上是关于R - 基于 3 个变量的一张图表中的双箱线图的主要内容,如果未能解决你的问题,请参考以下文章

在R中的单个图上绘制两个变量的条形图和第三个变量的线图

如何将柱形图和折线图合为一张图表?

Python Matplotlib 箱线图颜色

R语言学习 - 线图绘制

从 R 中同一图表上的数据集创建多个箱线图

箱线图boxplot