我有客户呼叫数据,我想得到不同子组呼叫成功率的中位数和模式。
我的变量是:客户ID、就业状况(退休、就业、失业)、电话数量、成功电话数、通话成功率(成功电话/通话次数)

到目前为止,我在Excel中工作,以获得平均的调用可达性。模式和中位数是不容易计算的Excel,因为它只能做到最多255次重新计算,我相信。我知道R中的汇总命令为每个变量提供了摘要统计信息,但是如果您想获得每个子组的中位数和模式,该怎么办呢?意思:退休、就业和失业客户的呼叫成功率分别为中位数和模式?为什么我要计算中位数和模式,虽然我已经有平均值了?因为两者都对离群点更有抵抗力。但如果你认为没有必要的话,我愿意讨论:)
发布于 2020-06-11 19:06:34
假设数据存储在一个名为df的对象中,您可以这样做:
tapply(dfS_Calls, df#qcStackCode#Emp_Stat, median)至于模式,奇怪的是,R没有内置的功能。您可以使用以下方法定义一个:
mode_stat <- function(x) {
ux <- na.omit(unique(x))
ux[which.max(tabulate(match(x, ux)))]
}然后以类似的方式做:
tapply(dfS_Calls, df#qcStackCode#Emp_Stat, mode_stat)https://datascience.stackexchange.com/questions/75817
复制相似问题