Я пытаюсь стандартизировать даты начала для столбцов в таблице timeseries
, чтобы каждая из них начиналась на основе предопределенных значений, которые у меня есть в другой таблице StartEnd
. datetime
в timeseries
в формате POSIXct, как и все значения даты в этой проблеме.
Как создать фрейм данных, в котором первая строка каждого столбца начинается со значения в Start
, а также при удалении 0 значений в End
? Это после распространения () по набору данных:
timeseries <- spread(timeseries, ID, Count , fill = "0")
Я посмотрел на фильтры, но я не уверен, что dplyr будет go -to Вот. Я думаю, что какая-то функция могла бы сработать, но, обладая ограниченными знаниями, я не знаю, как будет выглядеть ее структура в этом контексте. Jfyi Я самоучка в R без формального образования в области кодирования, кроме некоторых курсов Coursera.
timeseries
:
datetime ID1 ID2 ID3 ID4 ID5 ID6 ID7
1 01/01/19 00:00:00 0 0 7 1 1 0 0
2 01/01/19 01:00:00 0 0 11 2 2 0 0
3 01/01/19 02:00:00 0 0 6 3 3 0 0
4 01/01/19 03:00:00 3 0 10 0 4 0 0
5 01/01/19 04:00:00 4 0 3 0 5 0 0
6 01/01/19 06:00:00 5 1 1 0 6 0 1
7 01/01/19 07:00:00 6 2 1 0 7 0 3
8 01/01/19 09:00:00 0 3 2 0 0 1 0
9 01/01/19 10:00:00 1 4 3 0 0 2 1
StartEnd
:
SomeID Start End
ID1 01/01/19 03:00:00 01/01/19 10:00:00
ID2 01/01/19 06:00:00 01/01/19 10:00:00
ID3 01/01/19 00:00:00 01/01/19 10:00:00
ID4 01/01/19 00:00:00 01/01/19 02:00:00
ID5 01/01/19 00:00:00 01/01/19 07:00:00
ID6 01/01/19 09:00:00 01/01/19 10:00:00
ID7 01/01/19 06:00:00 01/01/19 10:00:00
Ожидаемый результат:
ID1 ID2 ID3 ID4 ID5 ID6 ID7
1 3 1 7 1 1 1 1
2 4 2 11 2 2 2 3
3 5 3 6 3 3 0
4 6 4 10 4 1
5 0 3 5
6 1 1 6
7 1 7
8 2
9 3