Создание и форматирование дат
Чтобы создать объект типа Date из обычной строки символов в R, можно воспользоваться функцией as.Date(). Строка должна соответствовать определённому формату, который задаётся с помощью специальных символов (примеры соответствуют 13 января 1982 года):
%Y: год из 4 цифр (1982)%y: год из 2 цифр (82)%m: месяц из 2 цифр (01)%d: день месяца из 2 цифр (13)%A: день недели (Wednesday)%a: сокращённый день недели (Wed)%B: название месяца (January)%b: сокращённое название месяца (Jan)
Следующие команды R создадут одинаковый объект Date для 13 января 1982 года:
as.Date("1982-01-13")
as.Date("Jan-13-82", format = "%b-%d-%y")
as.Date("13 January, 1982", format = "%d %B, %Y")
Обратите внимание: в первой строке аргумент format не указан, поскольку по умолчанию R сопоставляет строку с форматами "%Y-%m-%d" или "%Y/%m/%d".
Помимо создания дат, их можно преобразовывать в строки символов с другим форматом записи. Для этого используется функция format(). Попробуйте выполнить следующий код:
today <- Sys.Date()
format(Sys.Date(), format = "%d %B, %Y")
format(Sys.Date(), format = "Today is a %A!")
Это упражнение является частью курса
Intermediate R
Инструкции к упражнению
- Для вас уже созданы три строки символов, представляющие даты. Преобразуйте их в даты с помощью
as.Date()и присвойте результаты переменнымdate1,date2иdate3соответственно. Код дляdate1уже написан. - Извлеките полезную информацию из дат в виде строк символов с помощью
format(). Из первой даты выберите день недели. Из второй — день месяца. Из третьей — сокращённое название месяца и год из 4 цифр, разделённые пробелом.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Definition of character strings representing dates
str1 <- "May 23, '96"
str2 <- "2012-03-15"
str3 <- "30/January/2006"
# Convert the strings to dates: date1, date2, date3
date1 <- as.Date(str1, format = "%b %d, '%y")
# Convert dates to formatted strings
format(date1, "%A")