Bizdays не исключает выходные - PullRequest
1 голос
/ 05 марта 2020

Я пытаюсь рассчитать коэффициент использования по относительной продолжительности жизни сотрудников. Мне нужно назначить этому сотруднику общее количество часов между самой ранней и самой отдаленной датой, когда было записано время. Оттуда я буду использовать это как делитель в коэффициенте использования = рабочих часов / полных часов.

При тестировании функции bizdays я попробовал простой пример.

bizdays::bizdays("2020-02-07","2020-02-14")
[1] 7

Любая причина, почему функция не вернули правильное количество рабочих дней? Я ожидаю 5 рабочих дней, так как 2/07 была пятницей, поэтому должна быть включена только 1 неделя.

Цель состоит в том, чтобы использовать bizdays в следующей функции, которая будет применяться к сгруппированному df с gapply.

timeentry = function(x){
  end_date = max(x$terminus)#creates an end_date variable from further end date in the group
  start_date = min(x$onset) #creates a start_date from earliest start date in the group
  start_date %>% bizdays(end_date) * 8 #subtracts dates and multiple by 8 to get work hours between two dates
}

Я буду применять эту функцию таким образом. К сожалению, он возвращает ошибку, предполагая, что он не может выделить вектор размером 4687 ГБ. Это отдельная проблема, я надеюсь, что кто-то может указать на это.

util = group %>% gapply(.,timeentry)

где group это сгруппированный df.

1 Ответ

1 голос
/ 05 марта 2020

Попробуйте настроить календарь с помощью create.calendar

library(bizdays)
create.calendar(name = "demo", weekdays = c("saturday", "sunday"))
bizdays::bizdays("2020-02-07","2020-02-14", cal = "demo")
[1] 5
...