У меня есть набор данных, который (с помощью этого сайта) создал подсчет на основе 3 экземпляров:
- Число
Plans
, гдеCoins
больше 20 - Число
Plans
, гдеCoins
равно 20 - Число
Plans
, гдеCoins
меньше 20
Вот пример из гораздо большего набора данных
Plan Year Coins Copay Enrollment
A 2018 20 10 200
B 2014 15 5 100
C 2012 30 0 50
D 2017 30 10 350
E 2018 5 10 400
F 2018 20 0 150
G 2018 20 0 200
H 2016 20 10 800
I 2014 10 3 250
J 2017 20 7 550
Это было достигнуто за счет:
df %>%
group_by(grp = case_when(Coins < 20 ~ 'grp1', Coins ==20 ~ 'grp2', TRUE ~ 'grp3')) %>%
summarise(Plan = toString(unique(Plan)), prop = n()) %>%
ungroup %>%
select(-grp)
Чтобы получить:
- С, Д - 2
- A, F, G, H, J - 5
- Б, Е, И - 3
Теперь я хотел бы включить столбец Enrollment
и суммировать на основе трех условий выше. Таким образом, я хотел бы добиться следующих показателей:
- 400 (50+350)
- 1900 (200+150+200+800+550)
- 750 (100+400+250)
Да! Большое спасибо - ответ был прямо передо мной (проверьте мое имя пользователя). Еще один вопрос: в настоящее время я получаю результат, который выглядит примерно так: 6.33e5 - как я могу вернуть точное значение?
@NewToThisRThing Я считаю, что именно так
tibble
форматирует большое число при печати; значение по-прежнему точное. Вы можете добавить%>% as.data.frame()
в конец вашей цепочкиmagrittr
для вывода значений "data.frame
".