我有一个数据集(在这个站点的帮助下)创建了一个基于3个实例的计数:
Plans数,其中Coins大于20Plans数,其中Coins等于20Plans数,其中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)得到:
现在,我想根据上述三个条件涉及Enrollment列和sum。因此,我希望做到以下几点:
发布于 2018-04-08 00:42:33
您可以在使用counts = sum(Enrollment)之前添加ungroup摘要。
library(tidyverse);
df %>%
group_by(grp = case_when(Coins < 20 ~ 'grp1', Coins ==20 ~ 'grp2', TRUE ~ 'grp3')) %>%
group_by(grp) %>%
summarise(
Plan = toString(unique(Plan)),
prop = n(),
counts = sum(Enrollment)) %>%
ungroup() %>%
select(-grp);
## A tibble: 3 x 4
# Plan prop counts
# <chr> <int> <int>
#1 B, E, I 3 750
#2 A, F, G, H, J 5 1900
#3 C, D 2 400样本数据
df <- read.table(text =
"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", header = T)https://stackoverflow.com/questions/49713307
复制相似问题