【发布时间】:2021-05-21 10:06:21
【问题描述】:
我正在处理来自电话热线服务的通话记录数据集。有三种呼叫结果:已应答、已放弃和已参与。我试图找出每个呼叫者在放弃上一个呼叫后再次联系热线所花费的平均时间。时差可以是秒、分钟、小时或天,但如果可能的话,我希望得到所有四个。
这是一些我正在使用的变量的模拟数据:-
library(wakefield)#for generating the Status variable
library(dplyr)
library(stringi)
library(Pareto)
library(uuid)
n_users<-1300
n_rows <- 365000
set.seed(1)
#data<-data.frame()
Date<-seq(as.Date("2015-01-01"), as.Date("2015-12-31"), by = "1 day")
Date<-sample(rep(Date,each=1000),replace = T)
u <- runif(length(Date), 0, 60*60*12) # "noise" to add or subtract from some timepoint
CallDateTime<-as.POSIXlt(u, origin = paste0(Date,"00:00:00"))
CallDateTime
CallOutcome<-r_sample_factor(x = c("Answered", "Abandoned", "Engaged"), n=length(Date))
CallOutcome
data<-data.frame(Date,CallDateTime,CallOutcome)
relative_probs <- rPareto(n = n_users, t = 1, alpha = 0.3, truncation = 500)
unique_ids <- UUIDgenerate(n = n_users)
data$CallerId <- sample(unique_ids, size = n_rows, prob = relative_probs, replace = TRUE)
data<-data%>%arrange(CallDateTime)
head(data)
所以重申一下,如果呼叫者放弃了他们的呼叫(在 CallOutcome 列中以“Abandoned”表示),我想知道呼叫者再次调用服务所花费的平均时间,以四个时间单位表示我已经提到了。关于我如何实现这一点的任何指示都会很棒:)
【问题讨论】:
标签: r dplyr timestamp conditional-statements difftime