如何创建函数然后将其循环?

时间:2019-05-29 04:29:03

标签: r function loops

enter image description here

我正在尝试编写一个模拟自然选择的函数。我已经编写了函数和模拟,但是收到一些错误。

我首先创建了该函数,然后该函数起作用了,但是当我执行模拟函数时,我收到一条错误消息,即未找到“ ans”。

natselc <- function (f11, f12, f22, pm, pf, m1, m2) {
wf <- (pm*pf*f11) + (0.5*(1-pf)*pm) + (pf*(1-pm)*f12 / wf)
wm <- ((pf*m1) + (1-pf))
pm_new <- pf*m1/wm
pf_new <- pm*pf*f11 + (0.5*((1-pf)*pm +pf*(1-pm)))*f12/wf 
c(pm_new, pf_new)
} 

natselc(0.903, 1, 1, 0.5, 0.5, 1.21, 1)
[1] 0.5475113 0.6376366

natselec_sim <- function(f11, f12, f22, pm, pf, m1, m2) {
ans[1,] <- nat_selection
for (i in 1:1000)
ans[i + 1] <- sapply(x = ans[i,],
FUN = natselc,
size = 1000)
}

natselec_sim(0.903, 1, 1, 0.5, 0.5, 1.21, 1)
  

natselec_sim(0.903,1,1,0.5,0.5,1.21,1)中的错误:     找不到对象“ ans”

0 个答案:

没有答案