Как преобразовать дату из мм / дд / гггг в дд / мм / гггг в R? - PullRequest
0 голосов
/ 20 апреля 2020

Данные анализа преступности в R:

Допустим, у меня есть очень большой набор данных с миллионами столбцов. В одной из колонок есть такие даты, как «3/28/2020» (мм / дд / гггг).

Для анализа мне нужен формат (дд / мм / гггг)

У меня есть пример кода:

conv <- function(a)
{ 
  dd <- strsplit(a,"/")[[1]][2]
  mm <- strsplit(a,"/")[[1]][1]
  yyyy <- strsplit(a,"/")[[1]][3]
  com <- paste(dd,mm,yyyy,sep="/")
  return(com)
             }
   a <- as.character(crime.data$Arrest.Date)
   conv(a)

Когда я это делаю, я получаю только конвертированную дату. То есть он выводит только дату в столбце. Я хочу, чтобы все даты были конвертированы.

Есть ли способ сделать это в R? или любая другая функция в R?

Ответы [ 2 ]

3 голосов
/ 20 апреля 2020

Не используйте регулярные выражения или манипуляции со строками для операций даты и времени.

Преобразовать в стандартный класс даты, а затем использовать format для получения данных в нужном формате.

format(as.Date('3/28/2020', '%m/%d/%Y'), '%d/%m/%Y')
#[1] "28/03/2020"
0 голосов
/ 20 апреля 2020

Мы можем использовать lubridate

library(lubridate)
format(mdy("3/28/2010"), "%d/%m/%Y")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...