所以我想计算员工流失率。最初看起来很容易完成的任务被证明有些挑战(对我来说,轻松一点,我是一名人力资源专业人员)。
我可以找到列的计数和总和,但是在计算中使用这些值时遇到了麻烦。我尝试弄乱count,length和xtabs函数,但是没有成功。我认为我可以将数据分为多个子集,但我认为这不是要走的路。
以下是我要查找的内容
#Running_terminations <-
应为(第1个月的终止)+(第2个月的终止).../月数
#Running_headcount <-
应该是(第1个月的人数)+(第2个月的人数).../月数
#Annual_turnover <-
(运行终止/运行人数)* 12
As Of Status Gender Type
1/31/2015 Termination Male A
1/31/2015 Active Female A
1/31/2015 Active Male B
1/31/2015 Active Female B
1/31/2015 Active Male A
2/29/2015 Active Female A
2/29/2015 Active Male B
2/29/2015 Active Female B
2/29/2015 New Hire Male A
2/29/2015 Termination Female A
3/31/2015 Active Male B
3/31/2015 Active Female B
3/31/2015 Active Male A
3/31/2015 Termination Female A
3/31/2015 Active Male B
因此,在截至3月(2015年3月31日)的营业额上方的示例数据中,该数据如下所示:
Running_terminations = (1 +1 + 1)/3 = 1
Running_headcount = (4 + 3 + 4)/3 = 3.7
注意,只有状态“有效”才计入人数
年度营业额= (1/3.7)* 100 = 27%
一旦我掌握了基础知识,便希望能够按性别或类型,或按性别和类型来计算营业额。
非常感谢您阅读本文。
编辑:
如果有帮助,这就是我在Tableau中进行计算的方式。
Running Terminations (YTD) = zn(WINDOW_AVG((([Termination])),-11,0))
Running Headcount (YTD) = zn(WINDOW_AVG((([Active])),-11,0))
Annual Turnover (YTD) = (ZN(([Running Terminations])/[Running Headcount]))*12
因此,我首先计算了年初至今的运行月度周转率,然后将其乘以12。
我阅读了一些有关计算运行均值的更多信息,然后在这里找到了一个建议以下功能的用户。
ma <- function(x,n=5){filter(x,rep(1/n,n), sides=2)}
现在,我试图将其应用于我的问题。
我认为主要的问题是我无法在“截止日期”之前对事物进行分类。另一个例子是,我想制作一个双轴图来显示每月的离职和新员工,但是我只能得到汇总数字并最终绘制点。如何每月显示一次?
最佳答案
您可以调整数据形状以计算每月有效数量和终止数量。这是代码:
library(reshape2)
txt <- "As.Of Status Gender Type
1/31/2015 Termination Male A
1/31/2015 Active Female A
1/31/2015 Active Male B
1/31/2015 Active Female B
1/31/2015 Active Male A
2/29/2015 Active Female A
2/29/2015 Active Male B
2/29/2015 Active Female B
2/29/2015 New_Hire Male A
2/29/2015 Termination Female A
3/31/2015 Active Male B
3/31/2015 Active Female B
3/31/2015 Active Male A
3/31/2015 Termination Female A
3/31/2015 Active Male B"
dataSet <- read.table(textConnection(txt), header=TRUE)
dataSet$As.Of <- as.Date(dataSet$As.Of, format="%m/%d/%y")
dataSet$As.Of.Month <- format(dataSet$As.Of, "%m")
dataSetAgg <- dcast(dataSet, As.Of.Month ~ Status, fun.aggregate = length, value.var="As.Of.Month")
Running_terminations <- sum(dataSetAgg$Termination)/nrow(dataSetAgg)
Running_headcount <- sum(dataSetAgg$Active)/nrow(dataSetAgg)
Annual_turnover <- (Running_terminations/Running_headcount)*100
希望这可以帮助。
关于r - 用R计算员工流失,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35859118/