Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- set.seed(42)
- quantity <- c(runif(100, 0, 100))
- dat <- data.frame(
- qty = quantity,
- qtile = cut(quantity, quantile(quantity, seq(0, 1, 0.1)),
- include.lowest = TRUE))
- dat <- dat %>% group_by(qtile) %>% summarise(qty = sum(qty))
- ggplot(dat, aes(qtile, qty)) + geom_bar(stat = 'identity')
- set.seed(42)
- quantity <- c(runif(100, 0, 100))
- dat <- data.table(
- qty = quantity,
- wt = quantity
- )
- dat[!is.na(qty), avg := sum(wt) / 10]
- setorder(dat, qty, wt)
- dat[!is.na(qty), cum_wt := cumsum(wt)]
- dat[!is.na(qty), level := cum_wt / avg]
- dat[!is.na(qty), qtile := ceiling(level)]
- dat <- dat[, .(qty = sum(qty)), by = 'qtile']
- ggplot(dat, aes(qtile, qty)) + geom_bar(stat = 'identity')
Add Comment
Please, Sign In to add comment