НачатьНачать бесплатно

Создание и форматирование дат

Чтобы создать объект типа 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")
Редактировать и запускать код