Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 出发和返回日期的数据框,如何获得所有日期的列表?_R_Date_Seq - Fatal编程技术网

R 出发和返回日期的数据框,如何获得所有日期的列表?

R 出发和返回日期的数据框,如何获得所有日期的列表?,r,date,seq,R,Date,Seq,我在计算旅行日期时遇到了一个难题。我有一个出发日期和返回日期的数据框 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.Da

我在计算旅行日期时遇到了一个难题。我有一个出发日期和返回日期的数据框

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)
我得到这个错误:

Error in seq.Date(from = x, to = y, by = 1) : 'from' must be of length 1 
这可能有很多错误,但我真正需要的帮助是如何通过
seq()
运行多个日期


抱歉,如果这很简单的话(我还在学习用r思考),对于任何违反礼仪的行为也很抱歉。谢谢。

编辑:根据OP评论更新

这个怎么样:

travel_dates[] <- lapply(travel_dates, as.Date, format="%m/%d/%y")
dts <- with(travel_dates, mapply(seq, Departure, Return, by="1 day"))

旧代码:

下面是每次旅行的天数,而不是日期列表

transform(travel_dates, days_away=Return - Departure + 1)
产生:

#    Departure     Return days_away
# 1 2013-07-06 2013-08-03   29 days
# 2 2013-07-06 2013-08-03   29 days
# 3 2013-06-28 2013-08-07   41 days

如果你想把
days\u放在一个单独的列表中,这很简单,不过把它作为数据框的一个附加列似乎更有用。

也许应用函数可以帮助你将所有内容转换为日期,并从中提取列表谢谢。但很抱歉我不清楚。我在寻找一个人每天离开的日期,而不仅仅是天数。这就是我尝试使用seq()的原因。我项目的第二步是计算出一年中大多数人不在办公室的日子。也感谢您向我介绍transform()。@user330742,请参阅编辑。我想这解决了你的问题。谢谢!它很有魅力!我非常感激。我学到了很多。
transform(travel_dates, days_away=Return - Departure + 1)
#    Departure     Return days_away
# 1 2013-07-06 2013-08-03   29 days
# 2 2013-07-06 2013-08-03   29 days
# 3 2013-06-28 2013-08-07   41 days