[英]Day of the Week, Month, Year, Week of the Year in R
是否存在可用於數據框對象的內置函數,以在類Date
時間序列上生成變量,以在R中創建星期,月,年,星期等的日期?
基本包中的weekdays
, months
, quarters
,函數生成文本輸出,查找數字輸出以表示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.