如何为函数定义全局变量

时间:2020-05-13 15:16:02

标签: r

我的模型显示在这里:

Model Description

我想将GA与R编程结合使用以获得最佳b。但是,当我为GA定义函数时,参数仅为b,而C.01,C.10,gamma,x.1,x.2,y是参数。那么如何使用这些在函数外部定义的参数呢?

cost_coef <- function(b) { % this is the function for GA
r <- numeric(n)

for (i in 1 : n) {
f <- b[0] + b[1] * x.1[i] + b[2] * x.2[i]

if (f < gamma) {
  h.y <- 0
} else {
  h.y <- 1
}

if (h.y == y[i]) {r[i] <- 0}
if (h.y - y[i] == -1) {r[i] <- C.01}
if (h.y - y[i] == 1) {r[i] <- C.10}
}

return(sum(r))
}

library(mcga)

m <- mcga(popsize    = 200,
      chsize     = 5,
      crossprob  = 1,
      mutateprob = 0.01,
      elitism    = 1,
      minval     = 0.0,
      maxval     = 999999999.9,
      maxiter    = 2500,
      evalFunc   = cost_coef)

0 个答案:

没有答案
相关问题