我已數據目前的結構,如下所示: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 –