当我尝试在函数中优化几个参数时,我遇到了上面的错误消息,我试图缩小参数值的范围,但错误仍然存在。你能否告诉我这种错误的原因是什么?顺便说一下,当我使用MCGA的GA包时,我实际上重现了相同的错误信息。非常感谢! 代码:
c<-1
e<-2
f<-3
g<-4
posneg.ratio <- function(x) {
lambda_a<-x[1]
lambda_b<-c(x[2],x[3])
lambda_c<-x[4]
random_effect<-factor_comp (lambda_a,lambda_b,lambda_c,e,f,g)
m<-random_effect$factor_a$b1
pos<-abs(sum(m > 0])
neg<-abs(sum(m < 0])
n<-neg/pos
return(n)
}
lower = c(0.5,0.09,0.05,7)
upper = c(0.9,0.2,0.1,12)
DEoptim(posneg.ratio,lower,upper)
答案 0 :(得分:0)
谢谢所有的答案,错误实际上来自我的函数* (x) *的函数定义,x与其余函数中定义的x变量之一混淆了,我的坏,当我改为功能(xe)和xe [1],xe [2] ......错误消失了。对于我来说,这也是一个很好的教训,不要用“x”,“y”,“z”,“n”这些常用名称定义任何变量。