Bonjour,
Pouvez-vous m'aider s'il vous plaît, ça fait des jours que j'essaie de faire marcher cet algorithme mais rien n'y fait. J'ai toujours des messages d'erreur, j'ai bien installé le package Nloptr , j'ai confirmé avec un exemple, il a marché mais j'ai toujours ces deux messages, je n'arrive pas à savoir d'où vient le problème.
Error in .checkfunargs(eval_f, arglist, "eval_f") :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 likelihood<-function (alphaopt,betaopt) { return( - ( ( alphaopt ^ n ) * ( betaopt ^ n ) * prod(betaopt) * exp( ( - alphaopt ) * sum(betaopt) ) ) ) } constraints<-function (alphaopt,betaopt) { return( c( ( n / alphaopt ) - sum(betaopt), ( n / betaopt ) + sumlog(betaopt) - ( alphaopt * sumprod(betaopt) ) ) ) } res<- c() x0<- c(0, 0) opts <- list("algorithm"="NLOPT_LD_LBFGS", "xtol_rel"=3) nloptr( x0=x0, eval_f=likelihood, eval_grad_f=constraints, opts=opts)
eval_f requires argument 'betaopt' but this has not been passed to the 'nloptr' function.
et les fonctions sum(betaopt), prod(betaopt) et sumlog(betaopt) ont bien été définies au début de l'algorithme.
Pouvez-vous m'aider svp ?
Partager