формат даты в столбце набора данных в R - PullRequest
1 голос
/ 13 февраля 2020

У меня есть набор данных, df, в котором есть столбец с датой. Я хотел бы изменить формат для всех данных в этом столбце даты.

  date

  29/11/2019 11:28:04 AM
  29/11/2019 11:28:05 AM

Я бы хотел, чтобы столбец выглядел так:

  date

  11/29/2019 11:28:04 AM
  11/29/2019 11:28:05 AM

Вот dput :

structure(list(Date = structure(1:2, .Label = c("29/11/2019      11:28:04 AM", 
"29/11/2019 11:28:05 AM"), class = "factor")), class =    "data.frame", row.names = c(NA, 
 -2L))

Вот что я пробовал:

 newdate<- format(df$date("%m/%d/%Y" %H%m%s %d))

Я понимаю, что у меня неправильный синтаксис, я исследую это.

Ответы [ 2 ]

2 голосов
/ 13 февраля 2020

В базе R мы можем использовать as.POSIXct для преобразования в дату-время, а затем использовать format для получения данных в требуемом формате.

format(as.POSIXct(df$Date, format = "%d/%m/%Y %I:%M:%S %p"), "%m/%d/%Y %I:%M:%S %p")
#[1] "11/29/2019 11:28:04 AM" "11/29/2019 11:28:05 AM"
1 голос
/ 13 февраля 2020

Мы можем просто использовать dmy_hms для преобразования в Datetime и затем обернуть с format

library(lubridate)
format(dmy_hms(df$Date), "%m/%d/%Y %I:%M:%S %p") 
#[1] "11/29/2019 11:28:04 AM" "11/29/2019 11:28:05 AM"

В base R, мы можем использовать strptime с strftime

strftime(strptime(df$Date, format = "%d/%m/%Y %T"),  "%m/%d/%Y %T")
#[1] "11/29/2019 11:28:04 AM" "11/29/2019 11:28:05 AM"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...