我正在尝试制作一个按 x 轴上的两个离散变量排序的多面 ggplot。问题是我想让垂直相邻的条目全部接触。目前,行之间存在空间,具体取决于顶部图与底部图中因子的水平。抱歉,这个可重现的示例有点冗长。
npats=20
simsympt=c(id=1,date=1,tx="control",sympt=0)
for(i in 1:npats)
{ days=abs(round(rnorm(1,100,40),0))
id=rep(as.character(i),days)
date=1:days
tx=rep(sample(c("control","treatment"),1),days)
sympt= sample(0:10, days,p=c(12,3,3,2,1,1,1,1,1,1,1),rep=T)
simsympt= rbind(simsympt, cbind(id,date,tx,sympt) )
}
####tidy things up a bit
simsympt=data.frame(simsympt)[-1,]
colnames(simsympt)=c('id','date','tx','level')
simsympt$date=as.numeric(as.character(simsympt$date))
simsympt$level=as.numeric(as.character(simsympt$level))
#simsympt$id=as.numeric(as.character(simsympt$id))
head(simsympt)
##now the important stuff
p <- ggplot(simsympt, aes(x=date,y=id))
p= p + geom_tile(aes(fill=level)) +
facet_grid(tx~.,drop=T,space="free")+
scale_y_discrete(expand=c(0,0),drop=T)
p
我需要的只是删除顶部和底部图表(面)中行之间的所有垂直空间。例如,由于 ID 号 15 属于对照组,因此治疗组中不应该有她的行。
谢谢,
赛斯