Я хочу добавить одну минуту к временной отметке конкретных случаев. Скажи, что у меня есть
timestamp <- seq(
from = as.POSIXct("12/05/2017 9:00", format = "%m/%d/%Y %H:%M"),
by = 60,
to = as.POSIXct("12/05/2017 9:02", format = "%m/%d/%Y %H:%M"))
ID <- seq(from = 101, by = 1, to = 115)
df <- data.frame(ID, timestamp)
Чтобы применить к списку дел, я попробовал следующее:
vars <- list(101, 102, 103)
foo <- function(x) {
as.POSIXct(df$encounter[dat$ID == x],
format = "%m/%d/%Y %H:%M") + 60
}
lapply(vars, foo)
, который возвращает правильные ответы в списке, но я не могу привести результаты к фрейму данных, чтобы их можно было добавить в исходный файл. Я нашел это решение здесь для возврата фрейма данных,
results <- lapply(vars, foo)
as.data.frame(do.call(rbind, results))
но возвращает метку времени в виде неформатированного числового объекта. Я пробовал индексировать по номеру дела
as.POSIXct(df$timestamp, format = "%m/%d/%Y %H:%M")[df$ID == 101] + 60
, который выводит правильный результат на экран, но я не могу определить правильный синтаксис для замены значений в самом кадре данных.