J'essaie d'effectuer une analyse de sensitivité globale avec la fonction sobol2002 du package sensitivity mais j'obtiens un message d'erreur que je n'arrive pas à résoudre.
Pour le contexte: le code a comme but de calculer les émissions d'une centrale électrique à partir de certains paramètres. Ces assument des valeurs selon des distributions de probabilité, desquelles je définis la forme (moyenne, variance, etc).
Je lance la fonction par la commande:
Code : Tout sélectionner
ResultatSobol=sobol2002(model=PerfoCourbe,
MatriceSigMoyDis[1:trunc(n/2),],
MatriceSigMoyDis[(trunc(n/2)+1):n,],
nboot=4000,conf=0.95)
MatriceSigMoyDis est un data.frame de 6 colonnes et plusieurs lignes (chaque ligne est un scénario).
PerfoCourbe est une fonction qui reçoit MatriceSigMoyDis et calcule les émissions à partir de ces données.
L'erreur qui s'affiche est le suivant:
Code : Tout sélectionner
Error in `row.names<-.data.frame`(`*tmp*`, value = value) :
invalid 'row.names' length
De plus : Warning message:
In response(x, ...) : Conversion of the response to numeric
Est-ce que cela vous parle?
Je ne m'explique pas l'erreur car j'ai utilisé sobol2002 dans d'autres codes similaires et ça fonctionne bien..
D'ailleurs j'ai regardé dans le code de la fonction sobol2002 de la library et je ne trouve pas la ligne row.names etc...
Merci de votre aide,
Martino