【发布时间】:2011-05-11 12:26:28
【问题描述】:
我想使用 agricolae 库中的 LSD.test 使用测试的标签输出标记我的绘图,例如 LSD 测试输出(a、b、ab 等)。这是正在运行的示例。
library(ggplot2)
library(agricolae)
wt<-gl(3,4,108,labels=c("W30","W60","W90"))
pl<-gl(3,12,108,labels=c("P0","P1","P2"))
gp<-gl(3,36,108,labels=c("A","B","C"))
dat<-cbind(
A=runif(108),
B=runif(108,min=1,max=10),
C=runif(108,min=100,max=200),
D=runif(108,min=1000,max=1500)
)
dat.df<-data.frame(wt,pl,gp,dat)
dat.m<-melt(dat.df)
ggplot(dat.m,aes(x=wt,y=value,group=pl,facet=gp,fill=pl))+
stat_summary(fun.y=mean,geom="bar",size=2,position="dodge")+
stat_summary(fun.ymin=function(x)(mean(x)-sd(x)/sqrt(length(x))),geom="errorbar",
fun.ymax=function(x)(mean(x)+sd(x)/sqrt(length(x))),position="dodge")+
facet_grid(variable~facet,scale="free_y")+
opts(legend.position="top")+
scale_colour_manual(values = c("red", "blue", "green"))
通常,在其他库中,我测试了数据,并将标签传递给文本图,但是可以在 ggplot 中进行吗?例如,在 stat_summary() 中,使用 fun.y 中的 LSD.test?
【问题讨论】:
-
该图的运行示例是可以的。但是你能给我们一些实际产生标签的示例代码吗?不知道您要比较哪些...
-
要做你想做的事,我通常总结 ggplot 之外的数据(例如使用 plyr),然后我将测试中的字母添加到 data.frame 并用 geom_text 绘制字母。