Guest User

Untitled

a guest
Apr 20th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. set.seed(42)
  2. quantity <- c(runif(100, 0, 100))
  3. dat <- data.frame(
  4. qty = quantity,
  5. qtile = cut(quantity, quantile(quantity, seq(0, 1, 0.1)),
  6. include.lowest = TRUE))
  7. dat <- dat %>% group_by(qtile) %>% summarise(qty = sum(qty))
  8. ggplot(dat, aes(qtile, qty)) + geom_bar(stat = 'identity')
  9.  
  10. set.seed(42)
  11. quantity <- c(runif(100, 0, 100))
  12.  
  13. dat <- data.table(
  14. qty = quantity,
  15. wt = quantity
  16. )
  17. dat[!is.na(qty), avg := sum(wt) / 10]
  18. setorder(dat, qty, wt)
  19. dat[!is.na(qty), cum_wt := cumsum(wt)]
  20. dat[!is.na(qty), level := cum_wt / avg]
  21. dat[!is.na(qty), qtile := ceiling(level)]
  22.  
  23. dat <- dat[, .(qty = sum(qty)), by = 'qtile']
  24.  
  25. ggplot(dat, aes(qtile, qty)) + geom_bar(stat = 'identity')
Add Comment
Please, Sign In to add comment