如何解决R-如何从两个不同的概率中随机选择?
我希望分配两个不同的加权概率(0.3 和 0.7)。每次(循环?)我希望 R 随机选择两个加权概率之一。然后我需要在数据帧中输出这些数据。
我尝试了很多方法都没有成功。我还是个初学者。
roll_it<-c(1:100)
n70<- 1; p70<-7/10
n30<- 1; p30<-3/10
for( i in roll_it){
result <- c(rbinom(n30,1,p30),rbinom(n70,p70))
print(result)}
sample(result(1:2,),size=2,replace = F)
解决方法
如果我正确理解您的目标,您根本不需要使用循环。只需创建两个样本,然后从该混合分布中采样即可。
set.seed(1)
cc <- cbind(rbinom(100,1,0.3),rbinom(100,0.7))
colMeans(cc)
# [1] 0.32 0.70
sample(cc,2)
# [1] 0 0
,
使用sample()
。
roll_it < -c(1:100)
n70<- 1
n30<- 1
probabilities <- c(0.3,0.7)
for(i in roll_it){
result <- rbinom(x = n30,size = 1,prob = sample(probabilities,1))
print(result)
}
我可以补充一下,我不确定您为什么使用 n30 和 n70。你可以只使用其中之一吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。