Следующий набор данных (CSV) содержит 3133 строк расходов по дням с 01.07.2000 по 31.12.2014:
head(d_exp_0014)
2000 7 6 792078.595 9
2000 7 7 140065.5 9
2000 7 11 190553.2 9
2000 7 12 119208.65 9
2000 7 16 1068156.293 9
2000 7 17 0 9
2000 7 21 457828.8033 9
2000 7 26 661445.0775 9
2000 7 28 211122.82 9
2000 8 2 273575.1733 8
Столбцы здесь - Год, Месяц, День, Расходы и Счетчик (сколько дней в каждом месяце были расходы).
Я пытаюсь сделать прогноз до конца 2015 года, и мне нужно иметь дело с этими беспорядочными столбцами даты, чтобы я мог нарезать и нарезать объекты xts (?) С помощью dplyr. Функции ISOdate и as.Date выдают эту ошибку:
> exp <- data.frame(data = d_exp_0014, Date = as.Date(paste(Year, Month, Day), format = "m%/d%/Y%"), Amount = Amount, Count = Count, t = c(1:3133))
Error in data.frame(data = d_exp_0014, Date = as.Date(paste(Year, Month, :
arguments imply differing number of rows: 3133, 3134
> length(d_exp_0014$Year)
[1] 3133
> length(d_exp_0014$Month)
[1] 3133
> length(d_exp_0014$Day)
[1] 3133
Что я делаю неправильно? И должен ли я вместо этого построить вектор из 5296 непрерывных дат между 01.07.2000 и 31.12.2014 и объединить мои 3133 строки наблюдений с этой таблицей (таким образом, эффективно вставив '0' в столбец Сумма для дней, в которые были нет платежей)?
data.frameне принимает аргументdata. Возможно, тебе стоит использоватьexp = with(d_exp_0014, data.frame(Date = ...)). - person Gregor Thomas   schedule 17.02.2015paste(Year, Month, Day), если вы собираетесь использовать этот формат. - person IRTFM   schedule 18.02.2015