ggplot中的不同列值并排放置的多个箱线图 [英] Multiple boxplots placed side by side for different column values in ggplot

查看:953
本文介绍了ggplot中的不同列值并排放置的多个箱线图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我阅读了不同的帖子,例如,但是我的问题有很小的变化.我有这样的df

I have read different posts like this and this but my problem has a small variation. I have a df like this

ID <- c("DJ45","DJ46","DJ47","DJ48","DJ49","DJ53","DJ54","DJ55","DJ56","DJ57")
Tool <- c("Tool_A", "Tool_A", "Tool_A", "Tool_A", "Tool_A", "Tool_B", "Tool_B", "Tool_B", "Tool_B", "Tool_B")
Name <- c("CMP", "CMP", "CMP", "CMP", "CMP", "CMP", "CMP", "CMP", "CMP", "CMP")
MS1 <- c(51,55,50,59,50,47,48,42,43,46)
MS2 <- c(13,11,14,11,10,17,18,17,20,21)
MS3 <- c(2,3,2,5,6,4,9,6,4,4)
MS4 <- c(16,13,14,11,16,16,18,16,19,15)
MS5 <- c(3,6,3,6,3,4,4,8,5,4)
MS6 <- c(7,7,5,5,8,9,8,6,6,9)

df1 <- data.frame(ID,Tool,Name,MS1,MS2,MS3,MS4,MS5,MS6)

我正在尝试统计地发现工具(Tool_A和Tool_B)在不同的测量步骤中有何不同,因此我进行了t检验.

I am trying to find statistically how different the tools (Tool_A & Tool_B) are at different measurement steps and hence I do a t-test.

t.test(MS1 ~ Tool, df1)

我使用ggplot进行箱形图的可视化,但是在这里我只对其中一个步骤进行了绘制.

I do the boxplot using ggplot for visualizing but here I do it for 1 of the steps.

p <- ggplot(df1, aes(factor(Tool), MS6))
p + geom_boxplot(aes(fill = Tool)) + labs(title = "CMP")

我想通过将所有6个测量步骤的方框图并排放置,将所有内容包装在一个通用标题(CMP)下. facet_wrap可以这样做吗?我只是无法正确解决.请提供建议.

I want to wrap everything under a common title(CMP) by placing the boxplots side by side for all the 6 measurement steps. Can facet_wrap do this? I am just not able to get it right. Kindly provide suggestions.

推荐答案

您的问题是您需要长格式来进行facet_wraps.

Your problem is that you need a long format to do facet_wraps.

#first, reshape to long
library(reshape2)

df1_long <- melt(df1, id.vars=c("ID","Tool","Name"))

#then plot
p2 <- ggplot(df1_long, aes(x=factor(Tool),y=value,fill=factor(Tool)))+
  geom_boxplot() + labs(title="CMP") +facet_wrap(~variable)
p2

这篇关于ggplot中的不同列值并排放置的多个箱线图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆