【发布时间】:2019-02-15 12:58:05
【问题描述】:
我希望循环一个日期向量,使用这些日期作为子集标准并进行计算。为简单起见,我们假设这些计算是行数。
问题是 R 将日期向量视为 5 位数字。尽管已使用as.Date 将其强制为日期,因此,循环创建了一个长度为 17,896 的列表。在我的循环列表中只有 12 个日期。
我非常期待任何建议。谢谢。
# first date of each month in 2018
dates_2018 = seq(as.Date("2018-1-1"), as.Date("2018-12-31"), "days")
loop_date = as.Date(as.vector(tapply(dates_2018, substr(dates_2018, 1, 7), max), mode="any"), origin = "1970-01-01")
# dummy df
df = data.frame(id = 1:length(dates_2018)
,dates_2018)
# count number of days satisfy criteria
y = list()
for (i in loop_date)
{
y[[i]] = nrow(df[df$dates_2018 >= i, ])
}; y
【问题讨论】: