У меня есть временной ряд со значениями в Time = 23:00:00, которые всегда ошибочны, поэтому мне нужно изменить эти значения.Изменение значения до значения с задержкой в r
Образца данные:
data <- data.table(
Time =c("20:47:00","20:52:00","21:25:00","22:25:00","23:00:00","01:02:00"),
Open = c(21.306,21.305,21.305,21.300,22.900,21.286),
TotalVolume = c(5,20,15,11,19,4)
)
Который выглядит следующим образом:
Time Open TotalVolume
1: 20:47:00 21.306 5
2: 20:52:00 21.305 20
3: 21:25:00 21.305 15
4: 22:25:00 21.300 11
5: 23:00:00 22.900 19
6: 01:02:00 21.286 4
Я хотел бы заменить ОТКРЫТОЕ значение при времени = 23:00:00 с открытым значением непосредственно перед ней. Который должен выглядеть следующим образом:
Time Open TotalVolume
1: 20:47:00 21.306 5
2: 20:52:00 21.305 20
3: 21:25:00 21.305 15
4: 22:25:00 21.300 11
5: 23:00:00 21.300 19
6: 01:02:00 21.286 4
Я попытался с помощью функции задержки без желаемых результатов:
data$Open[data$Time == "23:00:00"] <- lag(data,1)
и
data$Open[data$Time == "23:00:00"] <- lag(data$Open[data$Time == "23:00:00"],1)
Если вы уже используете 'data.table', вы можете взглянуть на' data.table :: shift' –