在R中的多个箱线图中添加pvalue

在R中的多个箱线图中添加pvalue,r,boxplot,R,Boxplot,我试图将p值添加到箱线图中,并在图中显示。我在互联网上找到了一些相似的东西: 到目前为止,我可以得到pvalue并在标题中设置它,但它看起来非常糟糕 是否可以在绘图的右上角创建一个框,并在其中显示每个数据的p值 下面是我正在做的一个例子: par(mfrow=c(2,2)) boxplot(x = df, main = round(t.test(df)$p.value, digits=3)) boxplot(x = df1, main = round(t.test(df1)$p.value,

我试图将p值添加到箱线图中,并在图中显示。我在互联网上找到了一些相似的东西:

到目前为止,我可以得到pvalue并在标题中设置它,但它看起来非常糟糕

是否可以在绘图的右上角创建一个框,并在其中显示每个数据的p值

下面是我正在做的一个例子:

par(mfrow=c(2,2))

boxplot(x = df, main = round(t.test(df)$p.value, digits=3))
boxplot(x = df1, main = round(t.test(df1)$p.value, digits=3))
boxplot(x = df2, main = round(t.test(df2)$p.value, digits=3))
boxplot(x = df3, main = round(t.test(df3)$p.value, digits=3))

下面是一个简单的例子:

# Fake data
set.seed(448)
dat = data.frame(x = c(rnorm(20), rnorm(20,1,1)), y=rep(c("A","B"), each=20))

boxplot(dat$x ~ dat$y, xlim=c(0.5,3))
rect(2.85 - 0.2, max(dat$x) - 0.12, 2.85 + 0.2, max(dat$x) + 0.12)
text(2.85, max(dat$x), paste0("p < ", round(t.test(dat$x ~ dat$y)$p.value, 3)))
#伪造数据
种子集(448)
dat=数据帧(x=c(rnorm(20),rnorm(20,1,1)),y=rep(c(“A”,“B”),每个=20))
箱线图(dat$x~dat$y,xlim=c(0.5,3))
rect(2.85-0.2,最大值(dat$x)-0.12,2.85+0.2,最大值(dat$x)+0.12)
文本(2.85,最大值(dat$x),粘贴0(“p<”,四舍五入(t.test(dat$x~dat$y)$p.value,3)))

创建箱线图后,执行类似于
text(x,y,round(t.test(df3)$p.value,digits=3))
的操作,其中
x
y
是图形面板右上角的坐标(可以通过编程方式从数据计算)。或者是mtext,
mtext(粘贴('p',format.pval(t.test(数据))$p.value,每股收益=.001)),at=par('usr')[2],line=-1,adj=1)