【发布时间】:2014-08-23 01:27:32
【问题描述】:
我有一系列针对不同病例的箱线图(对照与患者)。我想根据条件中位数(控制)>中位数(患者)为箱线图(而不是箱线图的填充)赋予不同的背景颜色。我正在使用 facet_grid。
编辑:
library(data.table)
library(ggplot2)
set.seed(10)
my.t.test_p.value =function(...) {
obj=try(t.test(...), silent=TRUE)
if (is(obj, "try-error")) return(NA) else return(obj$p.value)
}
df <- data.frame(
site = sample(c("A", "B","C"), 30, replace = TRUE),
control = sample(c(0,1),30,replace = TRUE),
y=rnorm(30)
)
dt=data.table(df)
pval = dt[, list(pvalue = paste0("p= ",sprintf("%.3f", my.t.test_p.value(y~control)))), by=list(site)]
pval = as.data.frame(pval)
pval['sig']=as.numeric(gsub('p= ','',pval$pvalue)) <0.3 ## just for simplicity ;)
p=ggplot(data=df, aes(control,y)) + geom_boxplot(aes(fill=as.factor(control))) +
facet_grid(~site)
print(p)
我想使用 pval$sig 绘制箱线图的背景。例如,红色代表 0.3。
【问题讨论】:
-
这可能是一个有趣的问题。但是,您真的应该创建一个small reproducible example 以节省我们的工作量。如果你这样做,我会给你一个赞成票,甚至可能会尝试找到答案。