Вы можете создать фрейм данных с временной меткой, представляющей собой последовательность из минимального и максимального значений вашего исходного фрейма данных, а затем выполнить левое соединение (здесь используются dplyr
и lubridate
):
library(lubridate)
library(dplyr)
df_or$TimeStamp = mdy_hm(df_or$TimeStamp) # Convert TimeStamp into appropriate date format
DF <- data.frame(TimeStamp = seq(min(df_or$TimeStamp),max(df_or$TimeStamp), by = "min"))
DF %>% left_join(., df_or, by = "TimeStamp")
TimeStamp MOTOR
1 2020-01-27 18:00:00 0
2 2020-01-27 18:01:00 NA
3 2020-01-27 18:02:00 1
4 2020-01-27 18:03:00 NA
5 2020-01-27 18:04:00 0
6 2020-01-27 18:05:00 1
7 2020-01-27 18:06:00 NA
8 2020-01-27 18:07:00 NA
9 2020-01-27 18:08:00 0
Данные
df_or <- data.frame(TimeStamp = c("1/27/20 18:00","1/27/20 18:02","1/27/20 18:04","1/27/20 18:05", "1/27/20 18:08"),
MOTOR = c(0,1,0,1,0))