My dataset in R looks like the following:
a <- c("M","F","F","F","M","M","F","F","F","M","F","F","M","M","F")
p <- c("P","P","W","W","P","P","W","W","W","W","P","P","P","W","W")
y1 <- c("yes","yes","null","no","no","no","yes","null","no","yes","yes","yes","null","no","no")
y2 <- c("yes","null","no","no","no","yes","yes","yes","null","no","yes","null","no","yes","yes")
y3 <- c("no","no","no","yes","null","yes","null","no","no","no","yes","yes","null","no","no")
VE <- data.frame(gender = a,
type = p,
y1 = y1,
y2 = y2,
y3 = y3)
And I would like to create a bar chart which looks like this: ideal bar chart
I just figured out a long way to get the chart:
q<-data.frame(gender=VE$gender,
year=rep("y1",15),
group=VE$y1)
p<-data.frame(gender=VE$gender,
year=rep("y2",15),
group=VE$y2)
x<-data.frame(gender=VE$gender,
year=rep("y3",15),
group=VE$y3)
Table<-rbind(q,p,x)
ggplot(Table, aes(year)) + geom_bar(aes(fill=group), position = "stack") + facet_grid(gender~.)
Is there any better way to get the bar chart? (since I was originally going to deal with 3,000,000 obsevations which have 32 variables each) Please give me some kind help with this bar chart. Cheers!