在 R 中将因子转换为日期

Gottumukkala Sravan Kumar 2023年1月30日
  1. 使用 R 中的 as.Date() 函数将因子转换为日期
  2. 使用 R 中的 ymd() 函数将因子转换为日期
在 R 中将因子转换为日期

我们将介绍使用基本 R 库中可用的 as.Date() 函数将 factor 转换为日期的方法。factor 是一种数据结构,用于对数据进行分类并将分类后的数据存储在多个级别。级别由整数表示。使用这些数据结构的一个优点是它不允许重复的值/特征。我们可以使用以下语法使用 factor 函数创建日期:

factor(c("string_date",.....................))
#where string_date is the date in the given format "yyyy-mm-dd"

使用 R 中的 as.Date() 函数将因子转换为日期

此函数用于将给定的 factor 数据转换为给定格式的日期,格式应为 %Y-%m-%d。这里 Y 代表年份以四位数格式显示年份,m 代表月份以获取月份编号,而 d 代表日期以显示日期编号。

在这里,我们将创建一个带有 5 个日期的因子,并使用上述函数将其转换为日期。

示例代码:

# R
#create factor date with string dates
data = factor(c("2021-11-20","2021-11-19","2021-11-18","2021-11-17","2021-11-16"))

#display
print(data)


#convert string date factor to date using as.Date() function
#in four digit year format
#month and day
final= as.Date(data, format = "%Y-%m-%d")

#display
print(final)

输出:

[1] 2021-11-20 2021-11-19 2021-11-18 2021-11-17 2021-11-16
Levels: 2021-11-16 2021-11-17 2021-11-18 2021-11-19 2021-11-20
[1] "2021-11-20" "2021-11-19" "2021-11-18" "2021-11-17" "2021-11-16"

使用 R 中的 ymd() 函数将因子转换为日期

ymd() 函数在 lubridate 库中可用,它将给定的 factor 日期转换为 %Y-%m-%d 格式的 Date 或 POSIXct 对象。

在使用此功能之前,我们必须安装 lubridate 包。这个包将处理和管理日期变量。

让我们看看如何安装和加载包。

要加载包,我们必须使用 install 关键字,而要加载已安装的包,我们必须使用 library 关键字。

#Install the package
install("lubridate")

#Load the package
load("lubridate")

示例代码:

#load lubridate library
library("lubridate")

#create factor date with string dates
data = factor(c("2021-11-20","2021-11-19","2021-11-18","2021-11-17","2021-11-16"))

#display
print(data)


#convert string date factor to date using ymd() function
#in four digit year format
#month and day
final= ymd(data, format = "%Y-%m-%d")

#display
print(final)

输出:

[1] 2021-11-20 2021-11-19 2021-11-18 2021-11-17 2021-11-16
Levels: 2021-11-16 2021-11-17 2021-11-18 2021-11-19 2021-11-20
[1] "2021-11-20" "2021-11-19" "2021-11-18" "2021-11-17" "2021-11-16"
Gottumukkala Sravan Kumar avatar Gottumukkala Sravan Kumar avatar

Gottumukkala Sravan Kumar is currently working as Salesforce Developer. During UG (B.tech-Hon's), he published 1400+ Technical Articles. He knows Python, R, Java, C#, PHP, MySQL and Bigdata Frameworks. In free time he loves playing indoor games.

LinkedIn

相关文章 - R Factor