我的问题:
如果出生时的性别比(男性与女性)为 1.1,但人们采取以下策略:生孩子直到有一个儿子,然后停止,除非您有 12 个女儿(在这种情况下,您也停止)。人口的平均性别比是多少?(通过模拟计算。假设您随机选择10,000个家庭。)
我的代码
pm=0.5238095 # Probability of Male
pw=0.4761905 # Female
w=0 # initial number of Female
n=1 # loop
p=0 # count of number
for(i in 1:n){
s=rbinom(1,1,0.4761905)
if(s==1){
w=w+1
}
p=p+1
while(w<=12){ ####1. How to count the number of female? ###
while(s==1){
s=rbinom(1,1,0.4761905)
if(s==1){
w=w+1
}
p=p+1
}
}
f[i]=p
}
w/p
我的问题
如何计算女性的数量?我正在使用循环来计算女性的数量$(if(s==1){ w=w+1 })。$它似乎效率低下。我认为计算真假可能更有效。
如何写代码更简洁?