Как преобразовать символьную дату (12 февраля 1931 г.) в формат даты (Y, m, d) - PullRequest
0 голосов
/ 19 октября 2019

У меня проблема с преобразованием столбца фрейма данных из любого формата, в котором он читает текстовый файл, в формат даты.

movie_df <- read.csv("scary_movies.txt",
                     stringsAsFactors = FALSE,
                     na.strings = c("NA", ""),
                     sep = "\t")

Вот как мы читаем файл.

Есть столбец ReleaseDate с датой в этом формате: 12 февраля 1931 года. Как я могу изменить ее на 1931/2/12.

Если я использую strptime (), столбец отображается как NA.

1 Ответ

1 голос
/ 19 октября 2019

Можно было бы преобразовать класс Date с as.Date и format в требуемый формат

movie_df$ReleaseDate <- format(as.Date(movie_df$ReleaseDate,
        "%B %d, %Y"), '%Y/%m/%d')

с воспроизводимым примером

format(as.Date('February 12, 1931', "%B %d, %Y"), '%Y/%m/%d')
#[1] "1931/02/12"

Есливедущие 0 для дней / месяцев должны быть отброшены

sub("^(\\d{4})-0?(\\d{1,2})-0?(\\d{1,2})$", "\\1/\\2/\\3", 
       as.Date('February 12, 1931', "%B %d, %Y"))
#[1] "1931/2/12"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...