【发布时间】:2017-11-26 12:16:55
【问题描述】:
我有一个数据集如下: 结果与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
...
【问题讨论】:
-
试试
aggregate(df[,2],df[1],FUN=function(x) match(1,x))。 -
@nicola 我认为他们有
dplyr类之一,我猜它不会工作,因为你无法得到一个向量 - 只有一个data.frame... -
@DavidArenburg 我试过了,它有效。为什么不应该?
-
@nicola 我想这对我有用!谢谢!
标签: r