我尝试了多种输入参数的方法。请帮忙..
rm(list=ls(all=TRUE))
library(optimx)
data<- matrix(c(0.05,0.09,0.62,
0.45,0.12,0.15,
0.17,0.92,0.3,
0.15,0.3,0.5,
0.21,0.14,0.6,
0.36,0.36,0.7),ncol=6)
colnames(data) <- c("D1","D2","D3","E1","E2","E3")
param = matrix(c(1,2,3))
diffq = matrix(nrow=3,ncol=3)
S = matrix(nrow=3,ncol=3)
funct = function(param,data){
for(i in 1:3) {
for(j in 1:3) {
diffq[i,j] <- (param[1]*data[i,"D1"]-param[1]*data[j,"E1"]+
param[2]*data[i,"D2"]-param[2]*data[j,"E2"]+
param[3]*data[i,"D3"]-param[3]*data[j,"E3"])
S[i,j] = ifelse(diffq[i,j] < 0, c(0.3),
(ifelse(diffq[i,j] == 0, c(0.8), c(1.3))))
}
}
AUC = sum(S)/nrow(S)/ncol(S)
return(-AUC)
}
optimx(c(param),funct,method="Nelder-Mead")
optimx.check出错(par,optcfg $ ufn,optcfg $ ugr,optcfg $ uhess, lower,:无法在初始参数下评估函数