Как использовать функции strptime и strftime в R


Вы можете использовать функции strptime и strftime в R для преобразования между символьными объектами и объектами времени.

Функция strptime преобразует символы в объекты времени и использует следующий базовый синтаксис:

strptime(character_object, format=" %Y-%m-%d ")

Функция strftime преобразует объекты времени в символы и использует следующий базовый синтаксис:

strftime(time_object)

В следующих примерах показано, как использовать каждую функцию на практике.

Пример 1: Использование функции strptime в R

Предположим, у нас есть следующий вектор символов в R:

#create character vector
char_data <- c("2022-01-01", "2022-01-25", "2022-02-14", "2022-03-19")

#view class of vector
class(char_data)

[1] "character"

Мы можем использовать функцию strptime для преобразования символов в объекты времени:

#convert characters to time objects
time_data <- strptime(char_data, format=" %Y-%m-%d ")

#view new vector
time_data

[1] "2022-01-01 UTC" "2022-01-25 UTC" "2022-02-14 UTC" "2022-03-19 UTC"

#view class of new vector
class(time_data)

[1] "POSIXlt" "POSIXt"

Мы видим, что символы были преобразованы в объекты времени.

Обратите внимание, что мы также можем использовать аргумент tz для преобразования символов в объекты времени с определенным часовым поясом.

Например, мы могли бы указать «EST», чтобы преобразовать символы в объекты времени в восточном часовом поясе:

#convert characters to time objects in EST time zone
time_data <- strptime(char_data, format=" %Y-%m-%d", tz=" EST ")

#view new vector
time_data

[1] "2022-01-01 EST" "2022-01-25 EST" "2022-02-14 EST" "2022-03-19 EST"

Обратите внимание, что каждый из объектов времени теперь заканчивается на EST , что указывает на восточный часовой пояс.

Пример 2: Использование функции strftime в R

Предположим, у нас есть следующий вектор объектов времени в R:

#create vector of time objects
time_data <- as. POSIXct (c("2022-01-01", "2022-01-25", "2022-02-14"))

#view class of vector
class(time_data)

[1] "POSIXct" "POSIXt"

Мы можем использовать функцию strftime для преобразования объектов времени в символы:

#convert time objects to characters
char_data <- strftime(time_data)

#view new vector
char_data

[1] "2022-01-01" "2022-01-25" "2022-02-14"

#view class of new vector
class(char_data)

[1] "character"

Мы видим, что объекты времени были преобразованы в символы.

Дополнительные ресурсы

В следующих руководствах объясняется, как использовать другие распространенные функции в R:

Как использовать функцию tabulate() в R
Как использовать функцию split() в R
Как использовать функцию match() в R
Как использовать функцию replicate() в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.