Как преобразовать столбец даты и времени в формат дд / мм / гггг в R - PullRequest
2 голосов
/ 03 апреля 2020

У меня есть кадр данных, состоящий из 4 столбцов:

ID      Name       response      datetime
a-1     abc        xyz           2020-01-05 00:00:00
a-2     abc        xyz           2020-01-06 00:00:00
a-3     abc        xyz           2020-01-07 00:00:00

Я хочу преобразовать только столбец даты и времени в формат дд / мм / гггг:

Обязательный результат:

ID      Name       response      datetime
a-1     abc        xyz           05/01/2020
a-2     abc        xyz           06/01/2020
a-3     abc        xyz           07/01/2020

Я пробовал это:

df2<-mutate(df,as.Date(as.POSIXct(df$datetime, format="%d-%m-%Y")))

1 Ответ

1 голос
/ 03 апреля 2020

Один из вариантов - сначала преобразовать строку метки времени в POSIXct с помощью функции strptime. Затем преобразуйте этот POSIXct в строку в нужном вам формате, используя strftime:

dt <- "2020-01-05 00:00:00"
x <- strptime(dt, "%Y-%m-%d %H:%M:%S")
out <- strftime(x, "%d/%m/%Y")
out
[1] "05/01/2020"

Для однострочного, который будет работать на вашем фактическом фрейме данных, используйте:

df$datetime <- strftime(strptime(df$datetime, "%Y-%m-%d %H:%M:%S"), "%d/%m/%Y")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...