gpt4 book ai didi

r - 分配由概率分布通知的特定数量的值(在 R 中)

转载 作者:行者123 更新时间:2023-12-04 09:28:00 26 4
gpt4 key购买 nike

您好,在此先感谢您的帮助!

我正在尝试生成一个向量,其中包含根据概率分布分配的特定数量的值。例如,我想要一个长度为 31 的向量,包含 26 个零和 5 个 1。 (向量的总和应始终为 5。)但是,向量的位置很重要。为了确定哪些值应该是 1,哪些应该是 0,我有一个概率向量(长度为 31),如下所示:

probs<-c(0.01,0.02,0.01,0.02,0.01,0.01,0.01,0.04,0.01,0.01,0.12,0.01,0.02,0.01,
0.14,0.06,0.01,0.01,0.01,0.01,0.01,0.14,0.01,0.07,0.01,0.01,0.04,0.08,0.01,0.02,0.01)

我可以根据这个分布选择值,并使用 rbinom 得到一个长度为 31 的向量,但我不能正好选择五个值。
Inv=rbinom(length(probs),1,probs)
Inv
[1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0

有任何想法吗?

再次感谢!

最佳答案

仅使用加权 sample.int 怎么样?选择地点?

Inv<-integer(31)
Inv[sample.int(31,5,prob=probs)]<-1
Inv
[1] 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0

关于r - 分配由概率分布通知的特定数量的值(在 R 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6935987/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com