[R] how to add a vertical line for each panel in a lattice dotplot with log scale?
maxbre
mbressan at arpa.veneto.it
Fri Jun 8 09:52:37 CEST 2012
thanks david,
yes, you are right PART of the confusion is because of what you mentioned
(sorry for that) but going back to my own data this is JUST PART of the
problem…
...see my reproducible example
teq<-structure(list(site = structure(c(4L, 2L, 2L, 4L, 2L, 4L, 4L,
3L, 1L, 3L, 1L, 1L, 3L, 4L, 5L, 4L, 3L, 1L, 3L, 1L, 4L, 4L, 2L,
4L, 4L, 2L, 1L, 3L, 4L, 4L, 2L, 4L, 4L, 2L, 4L, 4L, 2L, 4L, 4L,
2L, 4L, 2L, 4L, 2L, 4L, 2L, 4L, 2L, 2L, 2L, 2L, 4L), .Label = c("A",
"B", "C", "D", "E"), class = "factor"), lower_b_i = c(0.302,
0.956, 0.72, 1.21, 0.887, 0.728, 1.294, 20.493, 0.902, 0.031,
0.468, 2.318, 4.795, 89.581, 4.59, 3.366, 32.786, 5.506, 61.038,
1.485, 42.25, 31.279, 21.375, 96.62, 36.099, 30.173, 0.532, 1.005,
0.697, 6.248, 2.121, 0.576, 0.335, 0.442, 22.704, 18.244, 16.53,
626.664, 42.714, 59.87, 9.983, 110.158, 4.763, 3.363, 2.608,
2.41, 23.904, 73.281, 3618.353, 109.663, 21.797, 3.39), date_sampl_time_recs
= structure(c(11L,
10L, 9L, 8L, 12L, 12L, 13L, 7L, 6L, 14L, 14L, 4L, 3L, 5L, 2L,
1L, 18L, 19L, 24L, 23L, 17L, 15L, 16L, 20L, 21L, 22L, 26L, 25L,
29L, 28L, 27L, 32L, 31L, 30L, 34L, 33L, 33L, 35L, 36L, 37L, 38L,
39L, 40L, 41L, 42L, 43L, 46L, 47L, 48L, 49L, 45L, 44L), .Label =
c("2008-07-15, 2 h, 16/17",
"2008-07-16, 2 h, 14/17", "2008-12-03, 4 h, 13/17", "2008-12-03, 4 h,
15/17",
"2009-01-29, 24 h, 0/17", "2009-03-17, 24 h, 14/17", "2009-03-17, 24 h,
8/17",
"2009-04-17, 135 h, 13/17", "2009-04-20, 96 h, 14/17", "2009-04-21, 24 h,
13/17",
"2009-04-21, 24 h, 14/17", "2009-07-17, 168 h, 13/17", "2009-07-21, 24 h,
12/17",
"2009-08-18, 24 h, 16/17", "2009-10-27, 168 h, 3/17", "2009-10-27, 168 h,
5/17",
"2009-11-01, 24 h, 4/17", "2009-12-15, 24 h, 6/17", "2009-12-15, 24 h,
9/17",
"2010-01-05, 12 h, 3/17", "2010-01-15, 168 h, 3/17", "2010-01-15, 168 h,
5/17",
"2010-01-19, 24 h, 12/17", "2010-01-19, 24 h, 2/17", "2010-03-30, 24 h,
13/17",
"2010-03-30, 24 h, 14/17", "2010-04-22, 168 h, 11/17", "2010-04-22, 168 h,
9/17",
"2010-04-22, 24 h, 14/17", "2010-07-22, 168 h, 14/17", "2010-07-22, 168 h,
15/17",
"2010-07-22, 24 h, 15/17", "2010-10-26, 168 h, 7/17", "2010-10-26, 24 h,
8/17",
"2011-01-05, 12 h, 0/17", "2011-01-11, 168 h, 0/17", "2011-01-19, 168 h,
0/17",
"2011-03-15, 168 h, 2/17", "2011-03-23, 168 h, 0/17", "2011-05-10, 168 h,
5/17",
"2011-05-18, 168 h, 7/17", "2011-07-05, 168 h, 7/17", "2011-07-13, 168 h,
7/17",
"2011-09-13, 168 h, 6/17", "2011-09-21, 168 h, 1/17", "2011-11-08, 168 h,
0/17",
"2011-11-16, 168 h, 0/17", "2012-01-05, 12 h, 1/17", "2012-01-09, 12 h,
2/17"
), class = "factor")), .Names = c("site", "lower_b_i",
"date_sampl_time_recs"
), class = "data.frame", row.names = c(NA, -52L))
...and my code
dotplot(date_sampl_time_recs ~ lower_b_i | site, data=teq,
scales=list(x=list(log=TRUE)),
xscale.components = xscale.components.logpower,
layout=c(5,1),
panel = function(x,y,...) {
panel.grid(h=53, v=-1, lty="dotted", col="gray")
panel.dotplot(x,y,...)
medians <- median(x)
panel.abline(v=medians, col.line="red", lty="dotted")
means<-mean(x)
panel.abline(v=means, col.line="blue", lty="dotted")
}
)
attach(teq)
#check median values
tapply(lower_b_i,site,median)
#check mean values
tapply(lower_b_i,site,mean)
detach(teq)
...and now the question is why the plotting of means (but not medians) is
wrong (check against results of tapply)?
thanks
--
View this message in context: http://r.789695.n4.nabble.com/how-to-add-a-vertical-line-for-each-panel-in-a-lattice-dotplot-with-log-scale-tp4632513p4632760.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list