我正在尝试创建一个用于训练目的的假数据集,并希望创建一个与某个概率分布匹配的日期向量的函数...即 - 应该选择的某个范围的日期多于另一个。
我知道要选择一系列日期,我可以这样做:
seq(as.Date("1940-12-30"), as.Date("2005-01-04"), by="days")
要分配给人口,我可以这样做:
dchisq(x=1:500,df = 100)
或rlnorm(500,1,.6)
但是我在如何从上面提到的一个特定概率分布中进行seq()
绘制时画了一个空白。那么如何根据模式绘制日期?
答案 0 :(得分:2)
如果您可以描述每个日期的概率,可以使用示例进行此操作。以下是使用以年中为中心的高斯分布从2005年开始采样的示例。
Y05 = seq(as.Date("2005-01-01"), as.Date("2005-12-31"), by="days")
Prob = dnorm((1:365)*4/365 - 2)
sample(Y05, 10, replace=TRUE, prob=Prob)
答案 1 :(得分:1)
解决此问题的最简单方法可能是将问题视为一般抽样问题,而不是日期抽样问题。例如,如果您认为问题是在某个固定日期和目标日期之间选择偏移,那么您已将问题转换为加权整数抽样问题,并且您已经知道如何解决该问题。