如何在 r 中使用 strptime 和 strftime 函数
您可以使用 R 中的strptime和strftime函数在字符和时间对象之间进行转换。
strptime函数将字符转换为时间对象并使用以下基本语法:
strptime(character_object, format=" %Y-%m-%d ")
strftime函数将时间对象转换为字符并使用以下基本语法:
strftime(time_object)
以下示例展示了如何在实践中使用每个功能。
示例 1:使用 R 中的 strptime 函数
假设我们在 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=" IS ")
#view new vector
time_data
[1] "2022-01-01 EST" "2022-01-25 EST" "2022-02-14 EST" "2022-03-19 EST"
请注意,每个时间对象现在都以EST结尾,这表示东部时区。
示例 2:使用 R 中的 strftime 函数
假设我们在 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 中的其他常用函数:
如何在 R 中使用 tabulate() 函数
如何在 R 中使用 split() 函数
如何在 R 中使用 match() 函数
如何在R中使用replicate()函数