簡體   English   中英

R中的星期幾,月份,年份,星期幾

[英]Day of the Week, Month, Year, Week of the Year in R

是否存在可用於數據框對象的內置函數,以在類Date時間序列上生成變量,以在R中創建星期,月,年,星期等的日期?

基本包中的weekdaysmonthsquarters ,函數生成文本輸出,查找數字輸出以表示2012年3月5日,例如,星期五,月的第3天,月的1周,以及一年中的63天等

你可以從POSIXlt獲得一些奇怪的約定。 年份需要到1900年,月份在0到11之間 - 但你確實得到了工作日和一年中的一天。

R> dd <- as.Date("2012-05-03")
R> as.POSIXlt(dd)
[1] "2012-05-03 UTC"

然后

R> unclass(as.POSIXlt(dd))
$sec
[1] 0

$min
[1] 0

$hour
[1] 0

$mday
[1] 3

$mon
[1] 4

$year
[1] 112

$wday
[1] 4

$yday
[1] 123

$isdst
[1] 0

attr(,"tzone")
[1] "UTC"
R> 

您可以使用lubridate包來完成日期。

從幫助文件中: Lubridate提供的工具可以更輕松地解析和操作日期。

例如:

> library(lubridate)
> d <- today()
> d
[1] "2014-04-29"
> day(d)
[1] 29
> month(d)
[1] 4
> year(d)
[1] 2014
> week(d)
[1] 18
> weekdays(d)
[1] "Tuesday"
> days_in_month(d)
Apr 
 30 

我更喜歡內置函數,因為它有很多日期拼接,轉換和算術函數。

我能想到幾個選項。

首先,您可以使用類as.POSIXlt以便您可以使用df$date$yday as.POSIXlt子集。 as.POSIXlt()包含日期元素作為下面的列表,可以通過這種方式訪問​​。

此外,包裝lubridate具有類似的功能

yday(x)
wday(x)
mday(x)

暫無
暫無

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

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