我正在尝试编写一个模拟自然选择的函数。我已经编写了函数和模拟,但是收到一些错误。
我首先创建了该函数,然后该函数起作用了,但是当我执行模拟函数时,我收到一条错误消息,即未找到“ 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”