在 R 中将因子转换为日期
Gottumukkala Sravan Kumar
2023年1月30日
2022年5月18日
我们将介绍使用基本 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"
Author: Gottumukkala Sravan Kumar
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