Конвертировать даты в текст в R - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть следующий набор данных с датами (ГГГГ-ММ-ДД):

> dates
 [1] "20180412" "20180424" "20180506" "20180518" "20180530" "20180611" "20180623" "20180705" "20180717" "20180729"

Я хочу конвертировать их в: ДД-МММ-ГГГГ, но с указанием месяца. Например 20180412 должно стать 12Apr2018

Есть предложения о том, как поступить?

M

Ответы [ 4 ]

0 голосов
/ 07 сентября 2018

Просто используйте as.POSIXct и as.format:

dates <- c("20180412", "20180424", "20180506")
format(as.POSIXct(dates, format="%Y%m%d"),format="%d%b%y")

Выход:

[1] "12Apr18" "24Apr18" "06May18"
0 голосов
/ 07 сентября 2018

Вы можете использовать функции as.Date() и format():

dts <- c("20180412", "20180424", "20180506", "20180518", "20180530", 
         "20180611", "20180623")

format(as.Date(dts, format = "%Y%m%d"), "%d%b%Y")

Дополнительная информация здесь

0 голосов
/ 07 сентября 2018

Вы можете попробовать что-то вроде этого:

# print today's date
today <- Sys.Date()
format(today, format="%B %d %Y") "June 20 2007"

где Следующие символы могут использоваться с функцией format () для печати дат 1

0 голосов
/ 07 сентября 2018

Вам необходимо сначала проанализировать текстовые строки как Date объекты, а затем format эти Date объекты на ваш вкус, чтобы иметь различный текстовый вывод:

R> library(anytime)   ## one easy way to parse dates and times
R> dates <- anydate(c("20180412", "20180424", "20180506", "20180518", "20180530",
+                    "20180611", "20180623", "20180705", "20180717", "20180729"))
R> dates
 [1] "2018-04-12" "2018-04-24" "2018-05-06" "2018-05-18" "2018-05-30"
 [6] "2018-06-11" "2018-06-23" "2018-07-05" "2018-07-17" "2018-07-29"
R> 
R> txtdates <- format(dates, "%d%b%Y")
R> txtdates
 [1] "12Apr2018" "24Apr2018" "06May2018" "18May2018" "30May2018"
 [6] "11Jun2018" "23Jun2018" "05Jul2018" "17Jul2018" "29Jul2018"
R> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...