У меня есть данные во фрейме данных, в первом столбце - дата, а во втором столбце - индивидуальный вес.Вот пример из данных:
df <- data.frame(
date = c("2019-01-01", "2019-01-01", "2019-01-01", "2019-01-01",
"2019-01-01", "2019-01-01", "2019-01-01", "2019-01-01",
"2019-01-01", "2019-01-01", "2019-01-02", "2019-01-02", "2019-01-02",
"2019-01-02", "2019-01-02", "2019-01-02", "2019-01-02",
"2019-01-02", "2019-01-02", "2019-01-02"),
weight = c(2174.8, 2174.8, 2174.8, 8896.53, 8896.53, 2133.51, 2133.51,
2892.32, 2892.32, 2892.32, 2892.32, 5287.78, 5287.78, 6674.03,
6674.03, 6674.03, 6674.03, 6674.03, 5535.11, 5535.11)
)
Я хотел бы сначала запустить простую сводную статистику для каждой даты, а затем найти количество записей, вес которых находится в данном диапазоне, определяя категорию по% от общего числа.Диапазон весов.Наконец, сохраните номер каждой записи в отдельном столбце
Lowest 10%
10-20%
20-40%
40-60%
60-80%
80-90%
90-100%
The logic = (MinWeight + (MaxWeight-MinWeight)*X%)
Вот мой ожидаемый результат (я показываю только два столбца для диапазона%)
df %>%
group_by(date) %>%
summarise(mean(weight), min(weight), max(weight))
date `mean(weight)` `min(weight)` `max(weight)` `Lowest 10%` `10-20%`
2019-01-01 3726. 2134. 8897. num records. num records.