我被困在計算旅行日期的問題上。我有一個出發日期和返回日期的數據框。出發日期和返回日期的數據框,如何獲取所有日期的列表?
Departure Return
1 7/6/13 8/3/13
2 7/6/13 8/3/13
3 6/28/13 8/7/13
我想創建並傳遞一個函數,它將採用這些日期並形成所有天的列表。我可以通過將每列轉化爲日期來單獨做到這一點。
## Turn the departure and return dates into a readable format
Dept <- as.Date(travelDates$Dept, format = "%m/%d/%y")
Retn <- as.Date(travelDates$Retn, format = "%m/%d/%y")
travel_dates <- na.omit(data.frame(dept_dates,retn_dates))
seq(from = travel_dates[1,1], to = travel_dates[1,2], by = 1)
這給我[1] "2013-07-06" "2013-07-07"
...等等。我想擴大覆蓋整個數據框架,但我的嘗試失敗了。
這是我認爲可能會發揮作用的一個。
days_abroad <- data.frame()
get_days <- function(x,y){
all_days <- seq(from = x, to = y, by =1)
c(days_abroad, all_days)
return(days_abroad)
}
get_days(travel_dates$dept_dates, travel_dates$retn_dates)
我得到這個錯誤:
Error in seq.Date(from = x, to = y, by = 1) : 'from' must be of length 1
有可能很多錯,但我真的想幫助的是如何通過seq()
運行多個日期。
對不起,如果這很簡單(我仍然在學習思考),對於任何違反禮儀的行爲也很抱歉。謝謝。
也許應用函數可以幫助您將所有內容轉換爲日期並從那裏提取列表 – Llopis