On Thu, 13 Aug 2009, Mcdonald, Grant wrote:
________________________________________
From: Mcdonald, Grant
Sent: 13 August 2009 13:08
To: [email protected]
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
______________________________________________
[email protected] 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.
______________________________________________
[email protected] 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.