16

我有一个这样的日期列表:

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 上进行了很好的搜索,但找不到一个简单的方法来做到这一点。感谢帮助,谢谢。

4

2 回答 2

23

您可以使用yday功能 fromlubridate因为您已经在使用它:

> yday(my.dates)
# [1]  3 28 12 33 63
于 2013-03-16T19:34:29.503 回答
18

尝试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
于 2013-03-16T19:35:30.187 回答