R - преобразование даты в data.frame - PullRequest
0 голосов
/ 07 сентября 2018

Я работаю с "data.frame", которые указаны в следующем формате: 12 августа 2017 г.

class(data[,1]) = factor

Как я могу преобразовать их в даты?

data[,1] <- as.Date.factor(data[,1],format = "%m.%d.%y"), возвращает NA.

Ответы [ 3 ]

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

Я бы предложил пакет lubridate для очень простых в использовании функций для работы с датами. Например:

mdy("Aug 12,2017")
[1] "2017-08-12"

Если ваша дата в формате ГГГГ-ММ-ДД, вы можете использовать функцию ymd. Есть и другие функции, такие как dmy, dmy_hms (для даты и времени) и т. Д.

Если ваш столбец называется my.date, вы можете сделать:

data$my.date <- mdy(data$my.date)

Кроме того, вы можете использовать оператор %<>% из magrittr, чтобы сделать ваш код еще короче:

data$my.date %<>% mdy
0 голосов
/ 07 сентября 2018

Используя strptime, может работать:

strptime("Aug 12,2017", "%b%d,%Y")

Выход:

[1] "2017-08-12 UTC"

Второй параметр для strptime - это формат дат, которые у вас есть. Например, если ваши даты похожи на "1/5/2005", то формат будет:

format="%m/%d/%Y"

Надеюсь, это поможет

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

Использование as.POSIXct (решение Base-R):

as.POSIXct("Aug 12,2017", format="%b%d,%Y")

Выход:

[1] "2017-08-12 CEST"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...