从年龄段生成多个日期
Generate multiple dates from age segments
当前代码:
这里我给出了不同的细分; 0-20岁、21-45岁、46-65岁、66-100岁
dob020 <- seq(today() - years(20), today(), by = "day")
dob2145<- seq(today() - years(45), today() - years(20), by = "day")
dob4665 <- seq(today() - years(65), today() - years(40), by = "day")
dob66100 <- seq(today() - years(100), today() - years(65), by = "day")
这里我想根据给定的概率生成随机的 DoB。 0-20 年的概率必须为 15%,21-45 年的概率为 40% 等
dateofbirth <- sample(c(sample(dob020, 1), sample(dob2145, 1),
sample(dob4665, 1), sample(dob66100, 1)), 10, replace = TRUE,
prob = c(0.15,0.40, 0.35, 0.10))
这种效果很好,除了现在我得到的结果是 4 个不同的出生日期(每个部分一个),它们分布在 10 个结果中。
我想要的结果是 10 个不同的出生日期,仍然考虑了概率。
你不能一次做到这一点sample
,你需要分别采样然后组合它们
n <- 100
prob <- c(0.15,0.40, 0.35, 0.10)
c(sample(dob020, n*prob[1]), sample(dob2145, n*prob[2]),
sample(dob4665, n*prob[3]), sample(dob66100, n*prob[4]))
当前代码:
这里我给出了不同的细分; 0-20岁、21-45岁、46-65岁、66-100岁
dob020 <- seq(today() - years(20), today(), by = "day")
dob2145<- seq(today() - years(45), today() - years(20), by = "day")
dob4665 <- seq(today() - years(65), today() - years(40), by = "day")
dob66100 <- seq(today() - years(100), today() - years(65), by = "day")
这里我想根据给定的概率生成随机的 DoB。 0-20 年的概率必须为 15%,21-45 年的概率为 40% 等
dateofbirth <- sample(c(sample(dob020, 1), sample(dob2145, 1),
sample(dob4665, 1), sample(dob66100, 1)), 10, replace = TRUE,
prob = c(0.15,0.40, 0.35, 0.10))
这种效果很好,除了现在我得到的结果是 4 个不同的出生日期(每个部分一个),它们分布在 10 个结果中。
我想要的结果是 10 个不同的出生日期,仍然考虑了概率。
你不能一次做到这一点sample
,你需要分别采样然后组合它们
n <- 100
prob <- c(0.15,0.40, 0.35, 0.10)
c(sample(dob020, n*prob[1]), sample(dob2145, n*prob[2]),
sample(dob4665, n*prob[3]), sample(dob66100, n*prob[4]))