【发布时间】:2017-07-03 18:35:47
【问题描述】:
我目前的数据结构如下:
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),以及每个治疗期后 ID 的不同分数。我正在尝试创建一个箱线图,以说明与数据集中每个唯一 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结合起来。 -
我不确定这是不是你想要的:stackoverflow.com/questions/14604439/…