Я застрял в проблеме расчета даты поездки. У меня есть фрейм данных дат отправления и дат возврата.Данные о датах вылета и возвращения, как мне получить список всех дат?
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()
.
Извините, если это просто (я все еще учусь думать в г) и извиняюсь за любые нарушения в этикете. Спасибо.
Возможно, функция apply поможет вам преобразовать все в дату и оттуда извлечь список – Llopis