Я пытаюсь перекодировать некоторые данные, собранные каждые 2 часа, чтобы найти начальную точку для каждого идентификатора (т.е. когда obs не равен нулю, т.е. есть данные для этого момента времени), назвать это время 0, а затем длякаждый последующий момент времени называется 2, 4, 6 и т. д.
Например,
ID <- c("f1", "f1", "f1", "f1", "f2", "f2", "f2", "f2", "f3", "f3", "f3", "f3")
time <- rep(c(66, 68, 70, 72), 3)
obs <- c(1, 3, 5, 6, 0, 0, 3, 4, 0, 1, 3, 3)
new.time <- c(0, 2, 4, 6, NA, NA, 0, 2, NA, 0, 2, 4)
data <- as.data.frame(cbind(ID, time, obs, new.time))
Надеюсь, этот фрейм данных работает
У меня есть ID, время и obs, но яхочу создать «новое время» - любая помощь приветствуется, особенно решение dplyr