On 14 May 2010, at 18:25, Thomas Stewart wrote:
First, why doesn't the following code work? What exactly is the error you are
getting?
par(mfrow=c(1,2))
pop1<-rnorm(100)
hist(pop1,freq=F,ylim=c(0,1))
pop2<-rgamma(100,1,1)
hist(pop2,freq=F,ylim=c(0,1))
Let's define 'work'. The code above works, it just utterly fails to do what I
need to do, i.e. plot two distributions side by side on one single plot --
hence, I need to use multhist(), as the subject of my email might suggest...
Second, help.search("multihist") returned the multi.hist function. Is
multi.hist [instead of multihist] the function you are working with?
I do not think so, I'm using multhist() is from library plotrix. I'll look at
multi.hist, it might be more flexible.
Third, it sounds like you want to change the scale of the y axis. The scale
change you want is linear, so why not change the scale manually? Something like
this will manually change the scale to percentages:
pop1<-rnorm(156)
hist.pop1<-hist(pop1,yaxt="n",ylab="%",main="")
t<-axTicks(2)
axis(2,at=t,labels=round(t/length(pop1)*100,1))
Excellent! that's what I need. Unfortunately, because the two pops are
different sized I will have to cook up a second y-axis on the right of the plot
for the second population
Then, again, changing the scale creates more of a bar chart than a histogram
plot. Maybe you want to look at the barchart functions directly. Or maybe
directly calculate the bin percentages and plot them directly.
I agree, but it is quite a bit more work, which, given the issue at hand
(unability to read a chart for some users), does not seem worth it.
I think you have a lot of options to plot what you want.
Your suggestion for the axis is excellent, thank you very much.
F
-tgs
On Fri, May 14, 2010 at 11:51 AM, Federico Calboli<f.calb...@imperial.ac.uk>
wrote:
On 14 May 2010, at 16:09, Thomas Stewart wrote:
Please be more specific with your question. Perhaps a simple subset of the
data you are trying to plot? Here is some non-specific advice:
Plotting histograms as percentages instead of frequency counts is already an
option of the hist function. For example,
pop1<-rnorm(100)
hist(pop1,freq=F)
What you get is a desity, not a percentage, so you could have two bars with a
value greater 0.5 on the y-axis. The fact that the area sums up to 1 does not
mean that the sum of the heights adds up to 1 --the thing that my ignoramus
want to see to understand. On the other hand, freq =T gives the counts, and the
sum of the counts is the population total -- therefore (bar counts)/(pop total)
*100 is the precentage. If I could slap that on the label of the y-axis I'd be
sorted.
If you are plotting two histograms side-by-side (on the percentage scale), the
y-axis of both plots can be set with the ylim option. For example,
par(mfrow=c(1,2))
pop1<-rnorm(100)
hist(pop1,freq=F,ylim=c(0,1))
pop2<-rgamma(100,1,1)
hist(pop2,freq=F,ylim=c(0,1))
I'm using multhist(). The above would not work for me.
F
If your question were clearer, I might be able to help in more specific ways.
-tgs
On Fri, May 14, 2010 at 10:19 AM, Federico Calboli<f.calb...@imperial.ac.uk>
wrote:
Hi All,
I am in the annoying position of having to present some data to someone who
seems to be somewhat less than numerate. I need to label the y-axes of a
multhist with the y-axis labeled not as counts but as percentage of a
population. Plotting the standard histogram is in a way fine, all I need is to:
-- have a left-handside y-axis labels for pop 1 and a right-handside y-axis
labels for pop2
-- replace the counts in each axis with population percentages (easy to
calculate, but how to stick them there?)
Any suggestion would be gratefully received.
F
--
Federico C. F. Calboli
Department of Epidemiology and Biostatistics
Imperial College, St. Mary's Campus
Norfolk Place, London W2 1PG
Tel +44 (0)20 75941602 Fax +44 (0)20 75943193
f.calboli [.a.t] imperial.ac.uk
f.calboli [.a.t] gmail.com
______________________________________________
R-help@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.
--
Federico C. F. Calboli
Department of Epidemiology and Biostatistics
Imperial College, St. Mary's Campus
Norfolk Place, London W2 1PG
Tel +44 (0)20 75941602 Fax +44 (0)20 75943193
f.calboli [.a.t] imperial.ac.uk
f.calboli [.a.t] gmail.com
--
Federico C. F. Calboli
Department of Epidemiology and Biostatistics
Imperial College, St. Mary's Campus
Norfolk Place, London W2 1PG
Tel +44 (0)20 75941602 Fax +44 (0)20 75943193
f.calboli [.a.t] imperial.ac.uk
f.calboli [.a.t] gmail.com
______________________________________________
R-help@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.