【发布时间】:2016-10-07 21:27:15
【问题描述】:
下面的代码有一个日期列表,如果日期是该月的最后一天,对于数据集中的所有日期(不在日历上),它会将日期标记为该月的最后一天。
data = data.frame(day = seq(as.Date("2014-01-01"),as.Date("2016-05-10"),"day"), weekday = weekdays ( seq(as.Date("2014-01-01"),as.Date("2016-05-10"),"day")))
excludeDays <- c("Saturday", "Sunday")
data <- subset(data, !weekdays(data$day) %in% excludeDays) #exclude weekend
setDT(data)
data[, LastDayInMonth := day == max(day), by = list(year(day),month(day) )]
head(data,100)
我还需要在数据中的任何星期五添加一个标记 (TRUE/FALSE) 的列,该数据是该月的第三个星期五。有什么想法吗?
例如 2014-01-17、2014-02-21、......2014-05-16 等......是第三个星期五。
谢谢。
【问题讨论】:
-
可以直接用
data.table()函数创建data.table。
标签: r date data.table lubridate