R语言如何创建兼具固定值与随机值的指定规则数值变量?
R语言混合固定值与随机值的变量构造方案
可以实现符合要求的变量,你可以将目标变量拆分为三个独立片段分别构造后拼接,具体实现如下:
- 固定段1:前40个元素全为0,用
rep()函数生成重复值 - 随机段:第41-59位共19个元素,用
sample()函数随机生成0或1 - 固定段2:第60-100位共41个元素全为1,用
rep()函数生成重复值
核心实现代码
# 生成三个片段 part_fixed0 <- rep(0, 40) part_random <- sample(x = c(0, 1), size = 19, replace = TRUE) part_fixed1 <- rep(1, 41) # 拼接得到最终变量 target_var <- c(part_fixed0, part_random, part_fixed1)
可选验证代码
你可以运行以下代码验证生成的变量是否符合规则:
# 验证总长度为100 length(target_var) # 验证前40位全为0 all(target_var[1:40] == 0) # 验证第60-100位全为1 all(target_var[60:100] == 1) # 查看随机段的0/1分布 table(target_var[41:59])
参数调整说明
如果需要调整随机段0和1的生成概率,比如设置1的生成概率为70%、0的生成概率为30%,可以给sample()增加prob参数:
part_random <- sample(x = c(0, 1), size = 19, replace = TRUE, prob = c(0.3, 0.7))
内容的提问来源于stack exchange,提问作者brenqP
相关产品推荐
相关产品推荐

