У меня есть датафрейм строк, представляющих время, например:
times <- structure(list(exp1 = c("17:19:04 \r", "17:28:53 \r", "17:38:44 \r"),
exp2 = c("17:22:04 \r", "17:31:53 \r", "17:41:45 \r")),
row.names = c(NA, 3L), class = "data.frame")
Если я запускаю strptime()
на одном элементе моего фрейма данных times
, он преобразует его в красивый объект POSIXt:
strptime(times[1,1], '%H:%M:%S')
[1] "2020-02-19 17:19:04 GMT"
Отлично, так что теперь я хотел бы преобразовать весь мой фрейм данных times
в этот формат.
Я не могу найти решение, чтобы сделать это плавно.
Несколько вещей, которые я пробовал до сих пор:
strptime(times, '%H:%M:%S') # generates NA
strftime(times, '%H:%M:%S') # Error: do not know how to convert 'x' to class “POSIXlt”
apply(times, 2, function(x) strftime(x, '%H:%M:%S')) # Error: character string is not in a standard unambiguous format
Самое близкое, что я получил к тому, что Я хочу это:
apply(times, 2, function(x) strptime(x, '%H:%M:%S'))
Это создает грязный список. Я, вероятно, могу найти способ использовать его, но должен быть более простой способ?