我有一个数据集如下: 结果与contact_date没有关系,当用户响应冷呼叫时,我们将其标记为成功联系尝试(1)否则(0)。计数是我们呼叫订户的次数。
subscriber_id outcome contact_date queue multiple_number count
(int) (int) (date) (fctr) (int) (int)
1 1 1 2015-01-29 2 1 1
2 1 0 2015-02-21 2 1 2
3 1 0 2015-03-29 2 1 3
4 1 1 2015-04-30 2 1 4
5 2 0 2015-01-29 2 1 1
6 2 0 2015-02-21 2 1 2
7 2 0 2015-03-29 2 1 3
8 2 0 2015-04-30 2 1 4
9 2 1 2015-05-31 2 1 5
10 2 1 2015-08-25 5 1 6
11 2 0 2015-10-30 5 1 7
12 2 0 2015-12-14 5 1 8
13 3 1 2015-01-29 2 1 1
我想得到每个订户的第一个结果== 1的计数,你能告诉我怎样才能得到它?我想要的最终数据集是: (请注意有些人可能没有成功通话,在这种情况下,我想将first_success标记为0)
subscriber_id first_success
1 1
2 5
3 1
...
答案 0 :(得分:0)
require(dplyr)
data %>% group_by(subscriber_id) %>% filter(outcome==1) %>%
slice(which.min(contact_date)) %>% data.frame() %>%
select(subscriber_id,count)