Created
June 23, 2013 22:58
-
-
Save mollietaylor/5846843 to your computer and use it in GitHub Desktop.
Plot Weekly or Monthly Totals in R
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
library(ggplot2) | |
library(scales) | |
# load data: | |
log <- data.frame(Date = c("2013/05/25","2013/05/28","2013/05/31","2013/06/01","2013/06/02","2013/06/05","2013/06/07"), | |
Quantity = c(9,1,15,4,5,17,18)) | |
log | |
str(log) | |
# convert date variable from factor to date format: | |
log$Date <- as.Date(log$Date, | |
"%Y/%m/%d") # tabulate all the options here | |
str(log) | |
# create variables of the week and month of each observation: | |
log$Month <- as.Date(cut(log$Date, | |
breaks = "month")) | |
log$Week <- as.Date(cut(log$Date, | |
breaks = "week", | |
start.on.monday = FALSE)) # changes weekly break point to Sunday | |
log | |
# graph by month: | |
ggplot(data = log, | |
aes(Month, Quantity)) + | |
stat_summary(fun.y = sum, # adds up all observations for the month | |
geom = "bar") + # or "line" | |
scale_x_date( | |
labels = date_format("%Y-%m"), | |
breaks = "1 month") # custom x-axis labels | |
# graph by week: | |
ggplot(data = log, | |
aes(Week, Quantity)) + | |
stat_summary(fun.y = sum, # adds up all observations for the week | |
geom = "bar") + # or "line" | |
scale_x_date( | |
labels = date_format("%Y-%m-%d"), | |
breaks = "1 week") # custom x-axis labels |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thank you for the nice examples!! Is there any way to remove grid bw background and modify the dates on the x-axis to mm/dd/yyyy format?