You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R语言中创建含x%值为1、其余为0的指定长度列

在R中生成指定比例0-1向量的简便方法

如果只是需要近似x%的元素为1(随机抽样,大样本下比例趋近于设定值),最简便的两种方法:

  • 用rbinom()函数(二项分布抽样):
    这是最简洁的写法,直接指定样本量、单次试验成功次数(设为1)和成功概率(x%转成小数)。示例:

    # 生成长度为100的向量,30%为1
    vec <- rbinom(n = 100, size = 1, prob = 0.3)
    
  • 用sample()函数:
    指定要抽样的元素c(0,1),通过prob参数设置各自的比例,开启放回抽样。示例:

    # 生成长度为100的向量,30%为1,70%为0
    vec <- sample(c(0,1), size = 100, replace = TRUE, prob = c(0.7, 0.3))
    

如果需要严格精确的x%比例(比如n=100时必须恰好30个1),可以先构造包含指定数量1和0的向量,再打乱顺序:

n <- 100
x <- 30
# 构造向量并随机打乱
vec <- sample(c(rep(1, x), rep(0, n - x)))

注:如果n*x不是整数,可根据需求用floor()或ceiling()调整1的数量,比如floor(n*x/100)。

内容的提问来源于stack exchange,提问作者gados2000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 03:02:08