Вы можете использовать функцию as.Date() в R для быстрого преобразования символьных объектов в объекты даты.
Эта функция использует следующий базовый синтаксис:
as. Date (x, format, tryFormats = c(" %Y-%m-%d", " %Y/%m/%d ")
куда:
- x : имя объекта, который нужно преобразовать в дату.
- format : Формат строки даты. Если не указано, он попробует один из tryFormats.
- tryFormats : форматы, которые нужно попробовать.
В следующих примерах показано, как использовать эту функцию в различных сценариях.
Пример 1. Использование as.Date() с распознаваемыми форматами даты
По умолчанию функция as.Date() может легко преобразовывать объекты символов в объекты даты, если объекты символов отформатированы одним из следующих способов:
- %Y-%m-%d
- %Г/%м/%д
В следующем коде показано, как использовать функцию as.Date() для преобразования символьного объекта с форматом %Y-%m-%d в объект даты:
#define character object in %Y-%m-%d format
x <- "2022-10-15"
#view class of x
class(x)
[1] "character"
#convert character object to date object
my_date <- as. Date (x)
#view new date object
my_date
[1] "2022-10-15"
#view class of my_date
class(my_date)
[1] "Date"
Мы видим, что объект символа был преобразован в объект даты.
В следующем коде показано, как использовать функцию as.Date() для преобразования символьного объекта с форматом %Y/%m/%d в объект даты:
#define character object in %Y/%m/%d format
x <- "2022/10/15"
#convert character object to date object
my_date <- as. Date (x)
#view class of my_date
class(my_date)
[1] "Date"
Мы видим, что объект символа был преобразован в объект даты.
В обоих этих примерах нам не нужно было использовать аргумент формата в функции as.Date() , потому что R распознавал оба формата даты.
Пример 2. Использование as.Date() с нераспознаваемыми форматами даты
Когда символьные объекты имеют нераспознаваемый формат даты, вы должны использовать аргумент формата , чтобы указать формат.
Например, следующий код показывает, как использовать функцию as.Date() для преобразования символьного объекта с форматом %m/%d/%Y в объект даты:
#define character object in %m/%d/%Y format
x <- "10/15/2022"
#convert character object to date object
my_date <- as. Date (x, format=" %m/%d/%Y ")
#view new date object
my_date
[1] "2022-10-15"
#view class of my_date
class(my_date)
[1] "Date"
Мы видим, что объект символа был преобразован в объект даты.
А следующий код показывает, как использовать функцию as.Date() для преобразования символьного объекта с форматом %m%d%Y в объект даты:
#define character object in %m%d%Y format
x <- "10152022"
#convert character object to date object
my_date <- as. Date (x, format=" %m%d%Y ")
#view new date object
my_date
[1] "2022-10-15"
#view class of my_date
class(my_date)
[1] "Date"
Символьный объект успешно преобразован в объект даты.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в R:
Как преобразовать временную метку UNIX в дату в R
Как преобразовать фактор в дату в R
Как отсортировать фрейм данных по дате в R
Как извлечь год из даты в R