Hello Rhelpers,
I am trying to represent the following data (hereafter named donnees) in a
barchart with a grouping variable :
site traitement date s res
1 NT 17/10/2005 normal 76.2
1 T 17/10/2005 normal 103.2
1 NT 23/11/2005 tardif 81.6
1 T 23/11/2005 tardif 98
2 NT 15/10/2005 normal 72.71
2 T 15/10/2005 normal 94.47
2 NT 15/11/2005 tardif 79.65
2 T 15/11/2005 tardif 94.7
barchart(res~s|site,groups=traitement,data=donnees)
What I'd like to do is for each site represent with an arrow the difference in
value of variable res between normal and tardif values of variable s.
I've found one way of doing it:
trellis.focus("panel",1,1)
xx<-trellis.panelArgs()$x
yy<-trellis.panelArgs()$y
panel.arrows(as.numeric(xx)[c(1,3)]-0.1,yy[c(1,3)],as.numeric(xx)[c(1,3)]-0.1,yy[c(2,4)],lwd=2,code=3)
panel.text(as.numeric(xx)[c(1,3)]-0.35,c(87,87),paste(yy[c(2,4)]-yy[c(1,3)],"\nq/ha"),font=2)
trellis.focus("panel",2,1)
xx<-trellis.panelArgs()$x
yy<-trellis.panelArgs()$y
panel.arrows(as.numeric(xx)[c(1,3)]-0.1,yy[c(1,3)],as.numeric(xx)[c(1,3)]-0.1,yy[c(2,4)],lwd=2,code=3)
panel.text(as.numeric(xx)[c(1,3)]-0.35,c(87,87),paste(yy[c(2,4)]-yy[c(1,3)],"\nq/ha"),font=2)
trellis.unfocus()
But I would prefer doing this within a custom panel function so I can apply it
more generally, and I haven't been able to figure out how...
Could anyone give me a hand?
Thanks in advance.
David Gouache
Arvalis - Institut du Végétal
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.