r - 从年龄段生成多个日期
问题描述
当前代码:
在这里,我给出了不同的部分;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]))
推荐阅读
- r - 根据另一列中的模式创建两个新列
- sql - 按照 OR 子句的顺序对 oracle 查询结果进行排序
- java - 在春季靴子中按@onetomany集合大小排序的最佳方法?
- c++ - 从 C++ 结构和指针中获取数据
- python - 如何有效地将这段代码实现到这个 GUI 中?(我对编码有点陌生)只是要求一个一般的想法或提示
- caliburn.micro - 无法构建 Caliburn.Micro 解决方案
- android - 没有Android studio的Android SDK报错“Error: Unable to find or load the main class Files\Android\tools\bin\\”
- python - 与卷积的中心差异
- reactjs - 在数据系列单击、Highcharts/React 上更改 xAxis 标签样式
- r - R函数帮助仅获取唯一值,然后获取基本指标