Как рассчитать рабочие дни между двумя датами, удаляя параллельные экземпляры и Bhols (сетевые дни) - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь найти функцию или логику, которая может извлечь рабочие дни (-bhols) из дат начала и окончания, но сначала упорядочить, чтобы удалить перекрывающиеся диапазоны дат для тех же заказов, с окончательным результатом группировки по заказам как по примерам ниже (Применим к фрейму данных)

  • "Рабочие дни" были созданы в Excel для демонстрационных целей, фрейм данных имеет порядок, начало, конец.

enter image description here

# Test Function
test <- Vectorize(
  function(a, b) 
  {
    seq(a, b, by = "days")

  })

# Data Frame
order <- c("CFM8" ,"CFM8","CFM8" ,"CFM8", "CFQ3","CFQ3","CFQ3")
start <-  c("2018/01/01","2018/01/08","2018/01/02","2018/01/15","2018/03/01","2018/03/05","2018/03/21")
end <- c("2018/01/10","2018/01/12","2018/01/06","2018/01/30","2018/03/31","2018/03/17","2018/03/31")


df <- data.frame(order,start,end) %>% 
  mutate(start = ymd(start), end = ymd(end))

# Apply Function 
df %>% 
  mutate(wd = test(start,end))
...