我試圖獲得從 2018-09-03 到 2021-03-23 的序列周間隔,僅顯示周一和周日。我會得到結果dates_ranges。
日期范圍=c("2018-09-03 2018-09-09", "2018-09-10 2018-09-16", "2018-09-17 2018-09-23", ... , "2021- 03-22 2021-03-28"
通過使用序列。功能我只得到星期一。我使用的第二種方法是 Map(c,dates_ranges[-length(dates_ranges)],dates_ranges[-1]) 但比我有一個數字的間隔序列 你能幫我嗎?
`
startdate <- as.Date("2018-09-03")
enddate <- as.Date("2021-03-22")
#first approach
dates_ranges<- seq.Date(from= (startdate),to=enddate, by=
"week")
#second approach
dates_ranges<- as.numeric(dates_ranges)
weeklyinterval<-Map(c, dates_ranges[-length(dates_ranges)],
dates_ranges[-1])
`
uj5u.com熱心網友回復:
使用format(., format="%w")發現其平日0(星期日)或1(星期一)。
dates_ranges <- seq.Date(as.Date("2021-09-03"), as.Date("2021-10-23"), by = "day")
dates_ranges
# [1] "2021-09-03" "2021-09-04" "2021-09-05" "2021-09-06" "2021-09-07" "2021-09-08" "2021-09-09" "2021-09-10" "2021-09-11"
# [10] "2021-09-12" "2021-09-13" "2021-09-14" "2021-09-15" "2021-09-16" "2021-09-17" "2021-09-18" "2021-09-19" "2021-09-20"
# [19] "2021-09-21" "2021-09-22" "2021-09-23" "2021-09-24" "2021-09-25" "2021-09-26" "2021-09-27" "2021-09-28" "2021-09-29"
# [28] "2021-09-30" "2021-10-01" "2021-10-02" "2021-10-03" "2021-10-04" "2021-10-05" "2021-10-06" "2021-10-07" "2021-10-08"
# [37] "2021-10-09" "2021-10-10" "2021-10-11" "2021-10-12" "2021-10-13" "2021-10-14" "2021-10-15" "2021-10-16" "2021-10-17"
# [46] "2021-10-18" "2021-10-19" "2021-10-20" "2021-10-21" "2021-10-22" "2021-10-23"
dates_ranges[format(dates_ranges, format="%w") %in% 0:1]
# [1] "2021-09-05" "2021-09-06" "2021-09-12" "2021-09-13" "2021-09-19" "2021-09-20" "2021-09-26" "2021-09-27" "2021-10-03"
# [10] "2021-10-04" "2021-10-10" "2021-10-11" "2021-10-17" "2021-10-18"
%wover %aor %A(縮寫或完整作業日名稱)的一個優點是那些容易發生區域設定/語言更改,而%w始終是整數。
有關用于格式化?strptime的%-codes 的更多討論,請參見。
uj5u.com熱心網友回復:
您可以創建所有日期序列并過濾以僅保留星期日和星期一。
start_date <- as.Date('2018-09-03')
end_date <- as.Date('2021-03-23')
all_dates <- seq(start_date, end_date, by = 'day')
selected_dates <- all_dates[weekdays(all_dates) %in% c('Monday', 'Sunday')]
selected_dates
# [1] "2018-09-03" "2018-09-09" "2018-09-10" "2018-09-16" "2018-09-17"
# [6] "2018-09-23" "2018-09-24" "2018-09-30" "2018-10-01" "2018-10-07"
#[11] "2018-10-08" "2018-10-14" "2018-10-15" "2018-10-21" "2018-10-22"
#...
#...
然后,您可以將資料集拆分為兩個一組。
split(selected_dates, ceiling(seq_along(selected_dates)/2))
#$`1`
#[1] "2018-09-03" "2018-09-09"
#$`2`
#[1] "2018-09-10" "2018-09-16"
#$`3`
#[1] "2018-09-17" "2018-09-23"
#...
#...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/327946.html
上一篇:熊貓填寫日期
