Пользовательское преобразование даты в R - PullRequest
0 голосов
/ 01 апреля 2020

Использование R

Как преобразовать «ггггмм» в «гггг-мм-01» во всех строках?

Например: «201603» в «2016-03-01» (ie формат «гггг-мм-дд»)

PS: Здесь (dd = 01) - это дата по умолчанию для всех 12 месяцев. ie ("2016-01-01", "2016-02-01", et c ...)

Ответы [ 3 ]

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

Простое paste решение:

x <- "201603"
paste0(substr(x, 1,4), "-", substr(x, 5,6), "-01")

[1] "2016-03-01"
0 голосов
/ 01 апреля 2020

дополнительный раствор

library(lubridate)
library(stringr)
x <- c("201603")
ymd(str_c(x,"01"))
[1] "2016-03-01"
0 голосов
/ 01 апреля 2020

Если вы хотите преобразовать как дату:

as.Date(paste0(201603, 01), format = "%Y%m%d")

Это создаст формат 2016-03-01 как дату, а не как символ. Если вы хотите использовать во всех строках столбца Date

data <- data %>%
        mutate(Date = as.Date(paste(Date, 01) format = "%Y%m%d")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...