所以我想计算员工流失率。最初看起来很容易完成的任务被证明有些挑战(对我来说,轻松一点,我是一名人力资源专业人员)。

我可以找到列的计数和总和,但是在计算中使用这些值时遇到了麻烦。我尝试弄乱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/

10-12 13:04
查看更多