[R] Vertical boxplot with a continuous X axis
Richard M. Heiberger
rmh at temple.edu
Fri Feb 24 07:10:44 CET 2017
Yes, this is exactly what the panel function
panel.bwplot.intermediate.hh
along with the
position()
function in the HH package was designed for.
Continuing with the example in the linked stackoverflow
df <- structure(list(X1 = c(67.0785968921204, 45.5968692796599,
36.9528452430474,
59.0160838607585, 50.0432724395945, 44.3381091105162, 57.9705240678336,
52.5298724133533, 62.0004216014734, 54.1111551461596), X2 = c(66.4508598009841,
46.9692156851792, 37.1419457255043, 60.0582991817961, 50.7717368681294,
44.6962314013419, 57.5490276313784, 52.6394305113891, 62.9297233041122,
56.8151766642767), X3 = c(66.4517425831512, 46.2946539468733,
36.5946733567535, 59.2477934854157, 49.1558840130484, 44.7507905380111,
59.1132983272444, 53.710627728232, 61.7923277906642, 57.5999862897015
), X4 = c(66.1516449763315, 45.4660590159847, 37.2239262718906,
59.2975530712561, 50.2546321578291, 44.7220452966667, 59.8879656465763,
52.321734919241, 62.0802304973764, 56.6507005349853), X5 = c(66.1810558292955,
46.3301985628267, 36.4487743101244, 60.054119632362, 49.1593136549535,
44.5708909518076, 58.5865142665164, 52.5527273219855, 61.3749185309236,
54.1823379401272), X6 = c(65.9530929286517, 45.5120010675769,
36.7924160587984, 58.9428613519645, 50.3412809263164, 44.9671678827697,
57.8718260182012, 51.8954544252633, 62.0173019998447, 56.3833840769146
), X7 = c(66.3862581408135, 46.5872469340431, 36.7585555977493,
58.1374309578563, 50.3399735165261, 44.5739565876491, 57.5245695195136,
52.7613488669329, 61.2500297922529, 55.9202360622414), X8 = c(67.5577910713347,
46.1891742544371, 36.4689522649804, 59.5271358261971, 49.6776114214636,
44.1995317742719, 58.4881363877987, 52.1946266979144, 62.1149998459759,
55.3748655464147), X9 = c(66.3943390258844, 45.843835703738,
37.3485122393333, 59.8591304277037, 49.387883195468, 44.4283817056918,
58.1874530826789, 53.5091378916001, 62.1187451212786, 55.3632760142297
), X10 = c(66.9748072219828, 46.20735965374, 36.7069272963502,
59.5035069226904, 48.8446530329762, 44.8753686249692, 58.0223695284058,
53.2732448917674, 61.2509571513, 54.9615424261546), age = c(55,
37, 31, 59, 49, 47, 69, 68, 69, 66)), .Names = c("X1", "X2",
"X3", "X4", "X5", "X6", "X7", "X8", "X9", "X10", "age"), row.names =
c("GSM1051533_7800246024_R03C02",
"GSM1051534_7800246024_R04C02", "GSM1051535_7800246024_R05C02",
"GSM1051536_7800246024_R06C02", "GSM1051537_7800246085_R01C01",
"GSM1051538_7800246085_R02C01", "GSM1051539_7800246085_R03C01",
"GSM1051540_7800246085_R04C01", "GSM1051541_7800246085_R05C01",
"GSM1051542_7800246085_R06C01"), class = "data.frame")
## install.packages("HH") ## if necessary
library(HH)
df.melt <- reshape2::melt(df, id.vars=c("age"))
df.melt$age.pos <- factor(df.melt$age)
position(df.melt$age.pos) <- levels(df.melt$age.pos)
## three options of x ticks and color
bwplot(value ~ age.pos, data=df.melt,
horizontal=FALSE,
panel=panel.bwplot.intermediate.hh,
scales=list(
x=list(
at=position(df.melt$age.pos), ## placement of tick labels and marks
limits=c(29, 71), ## x limits
tck=1)), ## draw tick marks
xlab="age",
main=list("value ~ age", cex=1.4))
bwplot(value ~ age.pos, data=df.melt,
horizontal=FALSE,
panel=panel.bwplot.intermediate.hh,
scales=list(
x=list(
## at=position(df.melt$age.pos), ## placement of tick labels and marks
limits=c(29, 71), ## x limits
tck=1)), ## draw tick marks
xlab="age",
main=list("value ~ age", cex=1.4))
bwplot(value ~ age.pos, data=df.melt,
horizontal=FALSE,
panel=panel.bwplot.intermediate.hh,
col="blue", ## constant color
scales=list(
x=list(
## at=position(df.melt$age.pos), ## placement of tick labels and marks
limits=c(29, 71), ## x limits
tck=1)), ## draw tick marks
xlab="age",
main=list("value ~ age", cex=1.4))
On Thu, Feb 23, 2017 at 11:52 PM, Sebastien Bihorel
<sebastien.bihorel at cognigencorp.com> wrote:
>
> Hi,
>
> Can the boxplot design illustrated in the post (http://stackoverflow.com/questions/39849459/how-to-create-boxplots-with-a-continuous-x-axis-in-r) be reproduced with lattice or a lattice-derived function?
>
> Thank you
>
> Sebastien
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
More information about the R-help
mailing list