Мы можем добавить seconds
library(lubridate)
df1$datetime[c(FALSE, TRUE)] <- df1$datetime[c(FALSE, TRUE)] + seconds(30)
df1$time[c(FALSE, TRUE)] <- format(df1$datetime[c(FALSE, TRUE)], "%H:%M:%S")
df1
# datetime time date
#1 2018-03-18 00:00:00 00:00:00 18/03/2018
#2 2018-03-18 00:02:30 00:02:30 18/03/2018
#3 2018-03-18 00:05:00 00:05:00 18/03/2018
#4 2018-03-18 00:07:30 00:07:30 18/03/2018
#5 2018-03-18 00:10:00 00:10:00 18/03/2018
#6 2018-03-18 00:12:30 00:12:30 18/03/2018
данные
df1 <- structure(list(datetime = structure(c(1521345600, 1521345720,
1521345900, 1521346020, 1521346200, 1521346320), class = c("POSIXct",
"POSIXt"), tzone = ""), time = c("00:00:00", "00:02:00", "00:05:00",
"00:07:00", "00:10:00", "00:12:00"), date = c("18/03/2018", "18/03/2018",
"18/03/2018", "18/03/2018", "18/03/2018", "18/03/2018")), row.names = c(NA,
-6L), class = "data.frame")