我已数据目前的结构,如下所示:ggplot结构化数据箱线图
set.seed(100)
require(ggplot2)
require(reshape2)
d<-data.frame("ID" = 1:30,
"Treatment1" = sample(0:1,30,replace = T, prob = c(0.5,0.5)),
"Score1" = rnorm(30)^2,
"Treatment2" = sample(0:1,30,replace = T,prob = c(0.3,0.7)),
"Score2" = rnorm(30)^2,
"Treatment3" = sample(0:1,30,replace = T,prob = c(0.2,0.8)),
"Score3" = rnorm(30)^2)
哪里有唯一的ID,3个不同的处理(编码1,如果它们接收到的给定的治疗和0,如果没有),以及在每个治疗期后的不同分数。我正在尝试创建一个boxplot,用于说明数据集中每个独特ID的每个治疗期相关的分数分布,但是我要么没有正确融化数据,要么没有正确编码,或者两者都没有。
d.melt<-melt(d,id.vars = c("ID","Treatment1","Treatment2","Treatment3"),measure.vars = c("Score1","Score2","Score3"))
我可以产生表示由他们是否收到的三种治疗方法与此代码一个分离的得分箱线图:
ggplot(d.melt)+
geom_boxplot(aes(x = variable,y = value,fill = factor(Treatment1)))
但这只会绘制中的所有得分的差别得到治疗1的ID,而不是所有3个水平的得分差异... 任何帮助我解决这个问题的方法都会很棒。预先感谢您
也许结合你已经在用'facet_grid'做的事情。 – ulfelder
我不确定这是你想要的:https://stackoverflow.com/questions/14604439/plot-multiple-boxplot-in-one-graph –