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.

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)
Error in .checkfunargs(eval_f, arglist, "eval_f") :
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 ?