library(tidyverse) df <- df %>% complete(timestamp = seq.POSIXt(min(timestamp), max(timestamp), by = "minute"), tr, tt, sr,st)