[R] FW: R graphics
Achim Zeileis
Achim.Zeileis at wu-wien.ac.at
Thu Aug 13 18:27:54 CEST 2009
On Thu, 13 Aug 2009, Mcdonald, Grant wrote:
>
> ________________________________________
> From: Mcdonald, Grant
> Sent: 13 August 2009 13:08
> To: r-help at R-project.org
> Subject: R graphics
>
> Dear sir,
>
> I am trying to create a barplot showing propotions,
>
> So my data is in the format of a vector containing 0s and 1s (i.e.successful or not) with a corresponding vector with two catogorical levels.
>
> success age
> 1 old
> 0 young
> 0 young
> 1 old
>
> I want to show a bar plot with a ylim=c(0,1) and an x-axis showing the two ages and the proportion of success only as filled bars.
>
> after making success a factor and plotting against age using: plot(success~age)
>
> the graphic shows age on the x and proportion on the yaxis as i want. However for each age it shows the total proportion split into both success and failures. I would however just like to show the prop successes without the failures stajed on top.
You can play around with the graphical parameters of ?spineplot. For
example, I copied your data into a "dat.txt" file and read the data via
## read data
dat <- read.table("dat.txt", header = TRUE)
## transform labels
dat$successful <- factor(dat$successful, levels = 1:0, labels =
c("success", "failure"))
dat$maleage <- factor(dat$maleage, labels = c("old", "young"))
And then you can produce various types of plots changing color, labeling
etc.
## simple spine plot
plot(successful ~ maleage, data = dat)
## hide failures and suppress y-axis labels
plot(successful ~ maleage, data = dat, col = gray(c(0.3, 1)),
border = "transparent", yaxlabels = "")
Or you can also use barplot() and create this by hand:
## create table
tab <- xtabs(~ maleage + successful, data = dat)
## simple barplot of success proportions
barplot(prop.table(tab, 1)[,1])
## barplot with proportional x-axis and labeling etc.
barplot(prop.table(tab, 1)[,1], width = margin.table(tab, 1),
col = gray(0.3), space = 0.1, ylim = c(0, 1),
ylab = "proportion of succsess")
hth,
Z
> data frame is below:
>
> successful maleage
> 1 O
> 1 Y
> 1 Y
> 1 Y
> 1 O
> 1 O
> 1 Y
> 1 O
> 1 Y
> 1 O
> 1 O
> 1 Y
> 1 O
> 1 Y
> 1 Y
> 1 Y
> 1 O
> 1 O
> 1 Y
> 1 Y
> 1 O
> 1 Y
> 1 O
> 1 Y
> 1 Y
> 1 Y
> 1 O
> 1 Y
> 1 Y
> 1 O
> 1 Y
> 1 O
> 1 O
> 1 Y
> 1 O
> 1 Y
> 1 O
> 1 Y
> 1 Y
> 1 O
> 1 Y
> 1 Y
> 1 O
> 1 Y
> 1 Y
> 1 Y
> 1 O
> 1 O
> 1 Y
> 1 O
> 1 Y
> 1 Y
> 1 Y
> 1 Y
> 1 Y
> 1 Y
> 1 Y
> 1 Y
> 1 Y
> 1 O
> 1 Y
> 1 O
> 1 Y
> 1 Y
> 1 O
> 1 O
> 1 Y
> 1 Y
> 1 O
> 1 Y
> 1 O
> 1 Y
> 1 Y
> 1 Y
> 1 O
> 1 Y
> 1 O
> 1 Y
> 1 Y
> 1 Y
> 1 O
> 1 Y
> 1 O
> 1 Y
> 1 Y
> 1 O
> 1 Y
> 1 Y
> 1 O
> 1 O
> 1 Y
> 1 Y
> 1 Y
> 1 O
> 0 Y
> NA O
> 0 O
> NA Y
> 1 Y
> 1 O
> NA O
> NA Y
> 0 O
> NA Y
> 0 O
> NA Y
> 1 Y
> 1 O
> 0 O
> 0 Y
> NA O
> 0 Y
> NA O
> 0 Y
> 0 Y
> NA O
> NA O
> NA O
> NA Y
> NA Y
> 0 O
> NA O
> NA Y
> NA O
> 1 O
> 0 O
> 0 Y
> NA O
> NA Y
> 1 O
> 0 O
> 0 O
> 0 O
> NA Y
> 0 O
> 0 Y
> NA Y
> 0 O
> NA O
> 0 Y
> NA O
> 1 O
> 0 Y
> NA O
> NA O
> NA O
> 0 O
> 0 O
> 0 O
> 0 Y
> 0 O
> 0 O
> 0 O
> 0 Y
> NA O
> 0 Y
> 0 O
> NA Y
> NA O
> 0 O
> NA Y
> NA O
> 0 O
> NA O
> NA O
> 0 O
> NA Y
> NA O
> NA Y
> 0 O
> NA O
> 1 Y
> NA Y
> NA O
> 1 O
> 1 Y
> 0 O
> 0 Y
> 0 O
> 0 Y
> 0 Y
> 1 Y
>
> ______________________________________________
> 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