Advertisement
Guest User

Histogram of Bump Times

a guest
May 21st, 2018
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 1.29 KB | None | 0 0
  1. # hours/minutes to minutes
  2. parse_time = function(h, m) {
  3.     return(h + m/60)
  4. }
  5.  
  6. # minutes to hours/minutes
  7. format_time = function(m) {
  8.     m = ifelse(m >= 13 * 60, m - 12 * 60, m)
  9.     return(sprintf("%d:%02d", m %/% 60, m %% 60))
  10. }
  11.  
  12. times = c(
  13.     # Chapter 1
  14.     parse_time(11, 46),
  15.     parse_time(11, 18),
  16.     parse_time(11, 30),
  17.     parse_time(10, 30),
  18.     parse_time(11, 58),
  19.     parse_time(13, 12),
  20.     parse_time(9, 57),
  21.     parse_time(11, 17),
  22.     parse_time(11, 14),
  23.     parse_time(9, 13),
  24.     parse_time(11, 13),
  25.     parse_time(9, 13),
  26.     parse_time(12, 56),
  27.     parse_time(12, 46),
  28.     parse_time(8, 57),
  29.    
  30.     # Chapter 2
  31.     parse_time(11, 12),
  32.     parse_time(10, 31),
  33.     parse_time(9, 17),
  34.     parse_time(11, 31),
  35.     parse_time(11, 13),
  36.     parse_time(11, 56),
  37.     parse_time(10, 31)
  38. )
  39.  
  40. min_hour = 8
  41. max_hour = 14
  42. slots_per_hour = 4
  43. labels_per_hour = 4
  44.  
  45. breaks = seq(min_hour, max_hour, 1/slots_per_hour)
  46. labels = seq(min_hour, max_hour, 1/labels_per_hour)
  47.  
  48. hist(times, main="Histogram of Bump Times", xlab="Time (PM ET)", ylab="Count Per 15 Minutes", col="#ddddff", xlim=c(parse_time(min_hour, 0), parse_time(max_hour, 0)), xaxt='n', breaks=breaks)
  49.  
  50. axis(side=1, at=labels, labels=format_time(labels * 60), las=3)
  51.  
  52. times_density = density(times, na.rm=T, from=min_hour, to=max_hour)
  53. lines(times_density$x, times_density$y * 4, col="red")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement