簡體   English   中英

如何識別周末並從R的時間差異中自動減去周末

[英]How to Identify a Weekend and Subtract it Automatically From my Time Differences in R

我正在編寫一個代碼,它使用兩個時間戳向量來為我提供特定進程所需的時間(簡單地說是difftime)。

但是在周末,時間應該停止。 因此,如果一個產品在周五進入並在周二離開,我必須減去周末時間。 因此,我需要有可能確定產品處理時間何時經過一個周末,周末會自動從時差中減去。

這些產品的識別問題比減法更多。

chron包中使用is.weekend

days<-seq.Date(as.Date("01-01-2017",format= "%d-%m-%Y"),as.Date("01-04-2017",format= "%d-%m-%Y"),by = "days")   
library(chron)  
  days[is.weekend(days)]
  [1] "2017-01-01" "2017-01-07" "2017-01-08" "2017-01-14" "2017-01-15" "2017-01-21" "2017-01-22"
  [8] "2017-01-28" "2017-01-29" "2017-02-04" "2017-02-05" "2017-02-11" "2017-02-12" "2017-02-18"
 [15] "2017-02-19" "2017-02-25" "2017-02-26" "2017-03-04" "2017-03-05" "2017-03-11" "2017-03-12"
 [22] "2017-03-18" "2017-03-19" "2017-03-25" "2017-03-26" "2017-04-01"

  weekdays.Date(days[is.weekend(days)])
  [1] "Sunday"   "Saturday" "Sunday"   "Saturday" "Sunday"   "Saturday" "Sunday"   "Saturday"
  [9] "Sunday"   "Saturday" "Sunday"   "Saturday" "Sunday"   "Saturday" "Sunday"   "Saturday"
 [17] "Sunday"   "Saturday" "Sunday"   "Saturday" "Sunday"   "Saturday" "Sunday"   "Saturday"
 [25] "Sunday"   "Saturday"

weekdays的功能可能在這里有所幫助:

weekdays(as.Date("2018-07-30"))
# [1] "monday"

因此,如果您傳遞日期對象的向量,您將能夠識別星期六和星期日。

例如:

which(weekdays(as.Date(c("2018-07-30", "2018-07-29", "2018-07-28", "2018-07-27"))) %in% c("saturday", "sunday"))
[1] 2 3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM