我想建立一个矩阵模型,如果某些条件被调用,结束 - 但由于某些原因,break()命令不工作,虽然stop()做。不幸的是stop()不是我需要的,因为我需要多次运行该模型。为什么break()在这个循环中不起作用? (但停止)
模型中的第一个破发命令的工作,但我已经离开它与DTH> 100,这样你可以亲眼看到
n.steps <- 200
ns <- array(0,c(14,n.steps))
ns[13,1]<-rpois(1,3)
ns[14,1] <- 1
k<-0
for (i in 1:n.steps){
k<-k+1
ns[13,1]<-rpois(1,2)
death<-sample(c(replicate(1000,
sample(c(1,0), prob=c(surv.age.a, 1-surv.age.a), size = 1))),1)
ns[14,k] <- death
if (death == 0) {
dth <- sample(1:100, 1)
if (dth > 100) {
ns[14,k]<-0
print("stop.1")
break()
} else {
while (death == 0) {
if (ns[13, k] > 0) {
rep.vec[i]<-ns[13,k]
ns[13, k] <- ns[13, k] - 1
ns[14,k+1]<-1
print("replace")
} else {
if (ns[13, k] == 0) {
print("stop.2")
ns[14,k+1]<-0
break()
}
}
}
}
}
}
使用'break'而不是'break()',它不是功能。 –
仍然不能工作:'( – redferry
也奇怪的事先break()命令的工作,所以我不会想到它可能是, – redferry