Попытка рассчитать разницу в датах, исключая выходные - R-studio - PullRequest
0 голосов
/ 27 апреля 2020
IT_tickets[,"ticket_age"] <- NA
{R aging_count for Tasks}
IT_tickets$ticket_age[c(all_tasks)] <- difftime(IT_tickets$closed_at_date[c(all_tasks)], IT_tickets$sys_created_date[c(all_tasks)], units = "days")

В моем наборе данных IT_tickets этот столбец называется "возраст билета", который вычисляет разницу в днях, когда билет создается и закрывается. Как я могу перекодировать это так, чтобы исключить выходные дни из разницы в днях.

Подобно тому, как функция NETWORK days работает в Excel.

1 Ответ

0 голосов
/ 27 апреля 2020

Если вам не нужно включать праздничные дни, вы можете сделать это

IT_tickets$ticket_age[c(all_tasks)] <- sum(!weekdays(seq(IT_tickets$sys_created_date[c(all_tasks)],
                                                                IT_tickets$closed_at_date[c(all_tasks)], 
                                                                "days")) %in% c("Saturday", "Sunday")) - 1 

Если вы хотите включить в счет дату начала, вы можете удалить вычитание 1.

Другой способ:

IT_tickets$ticket_age[c(all_tasks)] <- (IT_tickets$ticket_age[c(all_tasks)]%/%7) * 5 + IT_tickets$ticket_age[c(all_tasks)]%%7
...