set.seed(123)
for(m in 1:40)
{
u <- rbinom(1e3,40,0.30)
result[[m]]=u
}
result
for (m in 1:40) if (any(result[[m]] == 1)) break
m
m是公司的退出时间,因为我们改变了它给出不同结果的概率。使用这个m作为退出,我必须找到中间是否有资金回合,所以我创建了一个带有一些概率的随机二项分布,当你得到1表示有一轮融资(j)。如果有资金回合,我必须使用随机均匀分布找到回合限制。我不确定代码是否适合rbinom并且运行到m。并且imat1&lt; - 矩阵(0,nrow = 40,ncol = 2)#empty矩阵 我得到所有40次迭代的y值我需要它当我得到rbinom == 1它应该进入下一个循环。我试图将值存储在矩阵中,但它也没有存储。请帮帮我。
mat1<- matrix(0,nrow = 40,ncol = 2) #empty matrix
for(j in 1:m) {
k<- if(any(rbinom(1e3,40,0.42)==1)) #funding round
{
y<- runif(j, min = 0, max = 1) #lower and upper bound
mat1[l][0]<-j
mat1[l][1]<-y #matrix storing the value
}
}
resl
mat1
y
答案 0 :(得分:0)
第一个问题的答案:
result <- vector("list",40)
for(m in 1:40)
{
u <- rbinom(1e3,40,0.05)
print(u)
result[[m]]=u
}
u
第二个问题尚不清楚。你能改一下吗?
答案 1 :(得分:0)
要生成40个随机二项式数的向量,您根本不需要循环,请使用?replicate
。
u <- replicate(40, rbinom(1e3, 40, 0.05))
至于你的第二个问题,你的代码有几个问题。我会尝试解决这些问题,如果建议的更正是正确的,您可以自行决定。
以下几乎没有什么
for(k in 1:40)
{
n<- (any(rbinom(1e3,40,0.05)==1)) # n is TRUE/FALSE
}
k # at this point, equal to 40
有更好的方法来创建T / F变量。
#matrix(0, nrow = 40,ncol = 2) # wrong, don't use list()
matrix(0, nrow = 40,ncol = 2) # or maybe NA
然后当R中的索引从1开始时设置l=0
。无论如何,我不相信你需要这个变量l
。
if(any(rbinom(1e3,40,0.30)==1)) # probably TRUE, left as an exercise
# in probability theory
然后,最后,
mat1[l][0]<-j # index `0` doesn't exist
请修改您的代码,并告诉我们您想要做什么,我们很乐意提供帮助。