使用员工的雇佣日期和终止日期计算员工在R中花费的时间

  • 本文关键字:日期 时间 终止 计算 r
  • 更新时间 :
  • 英文 :


我有一个数据帧:

df = data.frame('Id' = c(101, 103, 104, 101, 105, 101, 103, 106, 104),
'action' = c('HIRE', 'Terminate', 'HIRE', 'Terminate', 'Hire', 'Promoted', 'Hire', 'Hire', 'Terminate'),
'date'= c('02/01/2017', '01/23/2019', '05/13/2017', '04/1/2019', '05/22/2017', '08/12/2018', '09/30/2017', '02/11/2017', '12/12/2019'))

我想创建一个新的列,使用雇佣日期和终止日期之间的差异(如果数据中有(来了解一个人在离职前花了多少时间。我是R的新手,如果有任何帮助,我们将不胜感激。

我想过对数据进行分组,但我不确定如何使用这个数据

您可以使用:

library(dplyr)
df %>%
mutate(date = as.Date(date, '%m/%d/%Y')) %>%
group_by(Id) %>%
summarise(time_spent_in_days = as.numeric(difftime(date[action == 'Terminate'],
date[action == 'Hire'], units = 'days')))
#     Id time_spent_in_days
#  <dbl>              <dbl>
#1   101                789
#2   103                480
#3   104                943

假设所有的action值对于相同的动作具有相同的文本。在您的数据中,您有'HIRE''hire'

最新更新