AnjaM
2012-Nov-20 14:13 UTC
[R] lattice density plot: add vertical lines at groupwise medians for all panels
Suppose you have the following code: ########## Start code########## data(Chem97, package="mlmRev") densityplot(~gcsescore | factor(score), groups=gender, data=Chem97, auto.key=TRUE, plot.points=FALSE, ref=TRUE, panel=function(x,...){ panel.densityplot(x,...) median.values <- median(x) panel.abline(v=median.values)} ) ########## End code########## For some reason I don't understand, this adds only the median for one group (in this case for gender == M) into each panel. How do I calculate and add the medians for both groups in the right group colour? This is what I tried: ########## Start code########## densityplot(~gcsescore | factor(score), groups=gender, data=Chem97, auto.key=TRUE, plot.points=FALSE, ref=TRUE, panel=function(x,..., groups){ panel.densityplot(x,..., groups) median.values <- tapply(x, groups, median) panel.abline(v=median.values)} ) ########## End code########## However, this gives an error. What's going wrong and how can I solve this problem? -- View this message in context: http://r.789695.n4.nabble.com/lattice-density-plot-add-vertical-lines-at-groupwise-medians-for-all-panels-tp4650163.html Sent from the R help mailing list archive at Nabble.com.
Jose Iparraguirre
2012-Nov-21 11:34 UTC
[R] lattice density plot: add vertical lines at groupwise medians for all panels
Dear AnjaM There may be better ways of dealing with this, but the following works: densityplot(~gcsescore | factor(score), groups=gender, data=Chem97, auto.key=TRUE, plot.points=FALSE, ref=TRUE, panel=function(x,...){ panel.densityplot(x,...) median.values <- tapply(Chem97$gcsescore, Chem97$gender, median) panel.abline(v=median.values, col=c("blue","red")) panel.grid(v=2)} ) Regards, Jos? Iparraguirre Chief Economist Age UK -----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of AnjaM Sent: 20 November 2012 14:13 To: r-help at r-project.org Subject: [R] lattice density plot: add vertical lines at groupwise medians for all panels Suppose you have the following code: ########## Start code########## data(Chem97, package="mlmRev") densityplot(~gcsescore | factor(score), groups=gender, data=Chem97, auto.key=TRUE, plot.points=FALSE, ref=TRUE, panel=function(x,...){ panel.densityplot(x,...) median.values <- median(x) panel.abline(v=median.values)} ) ########## End code########## For some reason I don't understand, this adds only the median for one group (in this case for gender == M) into each panel. How do I calculate and add the medians for both groups in the right group colour? This is what I tried: ########## Start code########## densityplot(~gcsescore | factor(score), groups=gender, data=Chem97, auto.key=TRUE, plot.points=FALSE, ref=TRUE, panel=function(x,..., groups){ panel.densityplot(x,..., groups) median.values <- tapply(x, groups, median) panel.abline(v=median.values)} ) ########## End code########## However, this gives an error. What's going wrong and how can I solve this problem? -- View this message in context: http://r.789695.n4.nabble.com/lattice-density-plot-add-vertical-lines-at-groupwise-medians-for-all-panels-tp4650163.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help at r-project.org 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. Wrap Up & Run 10k next March to raise vital funds for Age UK Six exciting new 10k races are taking place throughout the country and we want you to join in the fun! Whether you're a runner or not, these are events are for everyone ~ from walking groups to serious athletes. The Age UK Events Team will provide you with a training plan to suit your level and lots of tips to make this your first successful challenge of 2012. Beat the January blues and raise some vital funds to help us prevent avoidable deaths amongst older people this winter. Sign up now! www.ageuk.org.uk/10k Coming to; London Crystal Palace, Southport, Tatton Park, Cheshire Harewood House, Leeds,Coventry, Exeter Age UK Improving later life www.ageuk.org.uk ------------------------------- Age UK is a registered charity and company limited by guarantee, (registered charity number 1128267, registered company number 6825798). Registered office: Tavis House, 1-6 Tavistock Square, London WC1H 9NA. For the purposes of promoting Age UK Insurance, Age UK is an Appointed Representative of Age UK Enterprises Limited, Age UK is an Introducer Appointed Representative of JLT Benefit Solutions Limited and Simplyhealth Access for the purposes of introducing potential annuity and health cash plans customers respectively. Age UK Enterprises Limited, JLT Benefit Solutions Limited and Simplyhealth Access are all authorised and regulated by the Financial Services Authority. ------------------------------ This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you receive a message in error, please advise the sender and delete immediately. Except where this email is sent in the usual course of our business, any opinions expressed in this email are those of the author and do not necessarily reflect the opinions of Age UK or its subsidiaries and associated companies. Age UK monitors all e-mail transmissions passing through its network and may block or modify mails which are deemed to be unsuitable. Age Concern England (charity number 261794) and Help the Aged (charity number 272786) and their trading and other associated companies merged on 1st April 2009. Together they have formed the Age UK Group, dedicated to improving the lives of people in later life. The three national Age Concerns in Scotland, Northern Ireland and Wales have also merged with Help the Aged in these nations to form three registered charities: Age Scotland, Age NI, Age Cymru.