我有这样的日期列表:
library(lubridate)
my.dates <- c("03-01-2006", "28-01-2006", "12-01-2008", "02-02-2006", "03-03-2008")
my.dates <- dmy(my.dates)
我需要从下面的每个日期提取一年中的日期编号,其中1月1日是第1天:
day.number <- c(3, 28, 12, 33, 62)
我在google和SO之间进行了很好的搜索,但是找不到一个简单的方法。感谢帮助,谢谢。
答案 0 :(得分:17)
您可以使用yday
中的lubridate
功能,因为您已经在使用它:
> yday(my.dates)
# [1] 3 28 12 33 63
答案 1 :(得分:17)
尝试POSIXlt
及其attributes(my.dates)
my.dates = as.POSIXlt(my.dates,format="%d-%m-%Y")
my.dates$mday
[1] 3 28 12 2 3
my.dates$yday
[1] 2 27 11 32 62