我被困在计算旅行日期的问题上。我有一个出发日期和返回日期的数据框。出发日期和返回日期的数据框,如何获取所有日期的列表?
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