如何在R图中显示有效的p值
所以我用这种格式绘制了一些数据如何在R图中显示有效的p值,r,plot,p-value,R,Plot,P Value,所以我用这种格式绘制了一些数据 Time SD Average Situation n se 我用了这个密码 ggplot(data, aes(x=Time, y=Average, colour=Situation)) + geom_errorbar(aes(ymin=Average-se, ymax=Average+se), width=.1) + geom_line() + geom_point() 我想在Exp和Control之间做一个T.te
Time SD Average Situation n se
我用了这个密码
ggplot(data, aes(x=Time, y=Average, colour=Situation)) +
geom_errorbar(aes(ymin=Average-se, ymax=Average+se), width=.1) +
geom_line() +
geom_point()
我想在Exp和Control之间做一个T.test,我想用星号“*”在图中显示重要性……我很难找到一个能做到这一点的代码……我知道如何做一个正常的T.test,但我真的希望那些有星号的图显示重要性编辑我已经根据您对举一个对我有用的例子:
假设您想将t检验中的p值添加到图形中
set.seed(1)
### data following OPs format
data <- data.frame(Time=seq(10),
Average=abs(rnorm(10)),
Situation=rep(letters[1:2], 5)
)
### get p value
pval <- t.test(data$Average[data$Situation=="a"],
data$Average[data$Situation=="b"])$p.value
### strip to 3 significant digits
pval <- signif(pval, 3)
### add asterisk if <0.05
pval <- ifelse(pval<0.05, paste0(pval, " *"), pval)
pval <- paste0("t-test \n p=", pval)
### plot as per OP
ggplot(data, aes(x=Time, y=Average, colour=Situation)) +
geom_line() +
geom_point()+
### annotate it near lower left corner
annotate("text",
x=0.25*max(data$Time),
y=0.25*max(data$Average),
label=pval)
给予
有关更多选项,请参见?注释。如果需要p值的符号范围,则可以通过调用switch而不是ifelse对其进行修改
一个更大的问题可能是t检验是否适用于时间依赖性结果…我无法回答ggplot,因为我不使用它。。。但是在base R中,你会使用文本函数。那么我如何使用文本函数编辑我的图形呢?我不确定文本是否与ggplot一起工作。。。但本质上你只需要文本x,y,我的文本。有关完整帮助,请参阅?文本。否则,将绘图另存为pdf,在您最喜欢的矢量图形程序中打开mine is Inkscape并在那里调整图形。更有效,让你更容易合成更大的数字。我似乎得到了这个错误:如果nrowlayer_data==0返回错误:参数长度为零是的,我的错。错误是由于未提供注释位置的x&y值-我错误地认为这些值是默认值。为了反映这一点,我们对上述内容进行了编辑。现在应该可以了。干杯,伙计。但我有另一个错误:集合美学的长度不兼容:标签