Прошу прощения, если это невероятно просто, поскольку я относительно новичок в R, но я некоторое время задерживался на этой проблеме и не могу найти ответ в результатах поиска в Интернете.Создать интервал времени шага
Я пытаюсь создать кадр данных с одним столбцом минутных интервалов времени и времени, основанных на временах из отдельного кадра данных («падает»).
> head(drops)
uid tid dtdep dtpull nutm eutm
1 256 A69-1601-27561 2014-04-28 10:14:00 2014-04-28 11:21:00 1966514 329557.4
2 257 A69-1303-54408 2014-04-28 10:22:00 2014-04-28 11:26:00 1966884 329507.1
3 258 A69-1601-27331 2014-04-28 10:28:00 2014-04-28 11:37:00 1967184 329458.8
4 259 A69-1303-31936 2014-04-28 10:38:00 2014-04-28 11:50:00 1968022 329896.8
5 260 A69-1303-54408 2014-04-28 11:32:00 2014-04-28 12:40:00 1966883 329556.9
6 261 A69-1601-27331 2014-04-28 11:45:00 2014-04-28 12:46:00 1967084 329459.0
Я создал пустой фрейм данных для хранения моего вывода
> steptimes<-data.frame(matrix(NA,nrow=300,ncol=1))
И побежал следующий цикл, но она приносит только временные шаги для пятого ряда моих капель $ dtdep
>for(j in 1:5){
> steptimes[j]<-seq(from=drops$dtdep[j],length=60,by="min")
>}
Мой вывод выглядит следующим образом
> steptimes
[1] "2014-04-28 11:32:00 EDT" "2014-04-28 11:33:00 EDT" "2014-04-28 11:34:00 EDT" "2014-04-28 11:35:00 EDT"
[5] "2014-04-28 11:36:00 EDT" "2014-04-28 11:37:00 EDT" "2014-04-28 11:38:00 EDT" "2014-04-28 11:39:00 EDT"
[9] "2014-04-28 11:40:00 EDT" "2014-04-28 11:41:00 EDT" "2014-04-28 11:42:00 EDT" "2014-04-28 11:43:00 EDT"
[13] "2014-04-28 11:44:00 EDT" "2014-04-28 11:45:00 EDT" "2014-04-28 11:46:00 EDT" "2014-04-28 11:47:00 EDT"
[17] "2014-04-28 11:48:00 EDT" "2014-04-28 11:49:00 EDT" "2014-04-28 11:50:00 EDT" "2014-04-28 11:51:00 EDT"
[21] "2014-04-28 11:52:00 EDT" "2014-04-28 11:53:00 EDT" "2014-04-28 11:54:00 EDT" "2014-04-28 11:55:00 EDT"
[25] "2014-04-28 11:56:00 EDT" "2014-04-28 11:57:00 EDT" "2014-04-28 11:58:00 EDT" "2014-04-28 11:59:00 EDT"
[29] "2014-04-28 12:00:00 EDT" "2014-04-28 12:01:00 EDT" "2014-04-28 12:02:00 EDT" "2014-04-28 12:03:00 EDT"
[33] "2014-04-28 12:04:00 EDT" "2014-04-28 12:05:00 EDT" "2014-04-28 12:06:00 EDT" "2014-04-28 12:07:00 EDT"
[37] "2014-04-28 12:08:00 EDT" "2014-04-28 12:09:00 EDT" "2014-04-28 12:10:00 EDT" "2014-04-28 12:11:00 EDT"
[41] "2014-04-28 12:12:00 EDT" "2014-04-28 12:13:00 EDT" "2014-04-28 12:14:00 EDT" "2014-04-28 12:15:00 EDT"
[45] "2014-04-28 12:16:00 EDT" "2014-04-28 12:17:00 EDT" "2014-04-28 12:18:00 EDT" "2014-04-28 12:19:00 EDT"
[49] "2014-04-28 12:20:00 EDT" "2014-04-28 12:21:00 EDT" "2014-04-28 12:22:00 EDT" "2014-04-28 12:23:00 EDT"
[53] "2014-04-28 12:24:00 EDT" "2014-04-28 12:25:00 EDT" "2014-04-28 12:26:00 EDT" "2014-04-28 12:27:00 EDT"
[57] "2014-04-28 12:28:00 EDT" "2014-04-28 12:29:00 EDT" "2014-04-28 12:30:00 EDT" "2014-04-28 12:31:00 EDT"
Это хорошо, но мне нужно время шага, созданное для других капель. $ Dtdep
Любая помощь была бы очень признательна и принесла бы извинения, если бы это было невероятно упрощенным.
Спасибо!
Спасибо за ваш ответ, но я получив следующее сообщение об ошибке «Ошибка в seq.default (from = x, length = 60, by =« min »): « from »должно быть длиной 1». Я считаю, что это потому, что «x» является вектором datetimes и функция seq может обрабатывать только одиночные значения? Независимо от того, спасибо за ваш ответ, и я продолжу работать с ним. – Espenshade
Извините, я не могу воспроизвести эту ошибку. 'x' - это не вектор, а единственный элемент' drops $ dtdep', вот для чего 'lapply'. Я отредактировал свой ответ, чтобы включить рабочий пример. – thie1e
Это решило! Спасибо! Я думаю, что, возможно, я использовал неправильный объект для функции lapply. – Espenshade