在 R 中將因子轉換為日期

Gottumukkala Sravan Kumar 2023年1月30日 2022年5月18日
  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