从r中查找每个组中第一个特定结果的索引

时间:2016-02-22 21:09:36

标签: r

我有一个数据集如下: 结果与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
...

1 个答案:

答案 0 :(得分:0)

require(dplyr)    

data %>% group_by(subscriber_id) %>% filter(outcome==1) %>%
slice(which.min(contact_date)) %>% data.frame() %>% 
select(subscriber_id,count)