【发布时间】:2017-05-13 21:31:03
【问题描述】:
考虑日期样本:
t_s<-seq(as.POSIXct("2010-01-01 00:00:00"), as.POSIXct("2010-12-31 23:00:00"), by = '1 day')
还有一个日期向量:
t<-seq(as.POSIXct("2010-02-01 00:00:00"), as.POSIXct("2010-2-10 23:00:00"), by = '1 day')
现在,我想随机抽样 t_s 中的日期与 t 中元素的同一工作日。每个 t 元素的样本大小应为 4。
例如,第一个元素 "2010-02-01" 的样本可能是 "2010-06-28" "2010-5-31" "2010-8-02" "2010-10-04",因为它们都是星期一。
t_s 中的采样日期可能是多重的,因为t 中的某些日期共享同一工作日。但是,如果t_s 比t 小很多(不是在示例情况下),则无法满足样本的唯一性。因此,需要有和没有多重t_s 日期的示例方法。
我怎样才能得到这些样品?
【问题讨论】:
-
一种方法是
n <- 4L;lapply(format(t, "%w"), function(wday) sample(t_s[wday==format(t_s, "%w")], n))。不过可能有更好的选择。 -
请说明来自
t_s的采样日期是否可以出现在t中的多个日期。 -
@nrussell 我已经编辑了问题以进一步澄清。