Bar Plots

Sameer Mathur

Arthritis Dataset with one Factor

library(vcd)
counts <- table(Arthritis$Improved)
counts

  None   Some Marked 
    42     14     28 

Simple Bar Plot

barplot(counts, 
        main="Simple Bar Plot",
        xlab="Improvement", ylab="Frequency")

Simple Bar Plot

Horizontal Bar Plot

barplot(counts, 
        main="Horizontal Bar Plot", 
        xlab="Frequency", ylab="Improvement", 
        horiz=TRUE)

Horizontal Bar Plot

Arthritis Dataset with two Factor

library(vcd)
counts <- table(Arthritis$Improved, Arthritis$Treatment)
counts

         Placebo Treated
  None        29      13
  Some         7       7
  Marked       7      21

Stacked Bar Plots

barplot(counts, 
        main="Stacked Bar Plot",
        xlab="Treatment", ylab="Frequency", 
        col=c("red", "yellow","green"),            
        legend=rownames(counts)) 

Stacked Bar Plots

Grouped Bar Plot

barplot(counts, 
        main="Grouped Bar Plot", 
        xlab="Treatment", ylab="Frequency",
        col=c("red", "yellow", "green"),
        legend=rownames(counts), beside=TRUE)

Grouped Bar Plot

Mean of State Dataset

states <- data.frame(state.region, state.x77)
means <- aggregate(states$Illiteracy, by=list(state.region), FUN=mean)
means
        Group.1        x
1     Northeast 1.000000
2         South 1.737500
3 North Central 0.700000
4          West 1.023077

Sorted Mean of State Dataset

means <- means[order(means$x),]  
means
        Group.1        x
3 North Central 0.700000
1     Northeast 1.000000
4          West 1.023077
2         South 1.737500

Bar Plot for Sorted Mean Values

barplot(means$x, names.arg=means$Group.1) 
title("Mean Illiteracy Rate")  

Bar Plot for Sorted Mean Values

Spinograms

library(vcd)
attach(Arthritis)
counts <- table(Treatment,Improved)
spine(counts, main="Spinogram Example")
detach(Arthritis)

Spinograms