簡體   English   中英

在 R 中可能有日期變量的日-月-年格式?

[英]Possible to have date variable in day-month-year format in R?

我正在使用 Rmarkdown 制作“制作自己的圖形教程”,我有一個帶有日期變量(格式:日-月-年)的數據集,使用 dmy(variable) 我可以正確地將變量 class 作為“日期”變量(格式:年-月-日)。

用戶必須根據這個日期進行過濾,並且看到荷蘭人使用日-月-年格式,我希望允許他們根據這種格式進行過濾。 (我可以簡單地告訴他們以年-月-日格式進行過濾,但這會使練習復雜化。)

問題的目標:讓 R 將變量識別為日期,但使用日-月-年格式

date <- "28-02-2020"
date <- as.Date(date, "%d-%m-%Y")
class(date)

再次:日期現在給出“2020-02-28”-我想要“28-02-2020”(使用 class:日期)

據我了解,不,這是不可能的

在內部,R 將日期存儲為自 1970 年 1 月 1 日以來的天數,並以“YYYY-mm-dd”格式打印出來。 鑒於世界各地的人們使用不同的格式,如果不是這樣,那將是非常混亂的。

作為旁注,如果您需要 plot 您的數據,ggplot2 為您提供正確格式化日期的選項,而無需將它們轉換為字符或因子。

作為旁注 2,base r 允許您調整日期的格式,這取決於可用的系統區域設置,您可以設置(這在不同的系統上有所不同,我使用的是 ubuntu):

Sys.setlocale("LC_TIME", "en_US.utf8")
format(Sys.Date(), format = "%Y-%b-%d")
[1] "2020-May-01"

Sys.setlocale("LC_TIME", "de_CH.utf8")
format(Sys.Date(), format = "%Y-%b-%d")
[1] "2020-Mai-01"

在此處查看更多信息:

如何更改 R 的語言環境?

如何在 R 中設置日期的默認語言

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM