编辑我已经根据您的评论重写了这个,以给出一个对我有用的例子:
假设您想将 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)
给予
查看?annotate
更多选项。如果您想要 p 值的一系列符号,那么您可以通过调用switch
而不是ifelse
.
一个更大的问题可能是 at-test
是否适合与时间相关的结果......