[R] R graphics

Achim Zeileis Achim.Zeileis at wu-wien.ac.at
Thu Aug 13 15:46:03 CEST 2009

On Thu, 13 Aug 2009, Mcdonald, Grant wrote:

> Dear sir,
> I am trying to create a barplot for two propotions, with proportions successful on the y and age on the x.  So my data is in the formate of one vector containing 0s and 1s (i.e.successful or not) with a corresponding two level vector of age.
> success        age
> 1                     old
> 0                    young
> 0                     young
> 1                     old
> Howeber i cannot find a way to stop r stacking the data using the code:  plot(successfulYN~maleage) as it ends up showing both proportions as i only want the proportions of success to show.
> also entering it as a table results in x axis being removed maybe though this is the only way
> could you please offer any help?

A reproducible example would have been helpful (as the posting guide 

Using the data from ?spineplot:

   treatment <- factor(rep(c(1, 2), c(43, 41)), levels = c(1, 2),
     labels = c("placebo", "treated"))
   improved <- factor(rep(c(1, 2, 3, 1, 2, 3), c(29, 7, 7, 13, 7, 21)),
     levels = c(1, 2, 3), labels = c("none", "some", "marked"))

I think you have a plot which is similar to

   plot(treatment ~ improved)

showing P(treatment | improved) on the y-axis and P(improved) on the 
x-axis. And you want the same y-axis but an x-axis with equal widths on 
the x-axis, right? Then you can do

   ## store the underlying contingency table
   tab <- plot(treatment ~ improved)
   prop.table(tab, 1)

   ## plotting with P(improved) x-axis

   ## plotting with equi-sized bars
   spineplot(prop.table(tab, 1))

(Note that the order of the variables would typically be exchanged but 
this ordering makes the difference between the different plots more 


> Grant McDoanld
> ______________________________________________
> 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.

More information about the R-help mailing list