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.