Bonjour, je souhaiterais faire une sorte de "merge.levels" pour des variables qualitatives de plus de 2 modalités; j'ai écris cette fonction qui ne marche pas ...
je pars d'une table "critère (V5>=90% par ex.) qui me retourne la ligne suivant :
1 2
| V1 V2 V3 V4 V5 V6
dptdens14 dptdens17 16 19 0.999911 dptdens |
V1 et V2 sont les noms de 2 modalités de la variable V6 généré par la régression.
V3 et V4 sont les indices positions de ces mêmes modalités dans la fonction level, V5 est le résultat d'un test de wald d'égalité des coefficients entre V1 et V2 et V6 est le nom de la variable de la base.
1 2 3 4 5
| fusion_niveau<-function(x,y,z) {
base$x[base$x==levels(base$x)[y]]<-levels(base$x)[z]
base$x<-base$x[,drop=TRUE]
}
fusion_niveau(crit$V6,crit$V3,crit$V4) |
et là aucun résultat, la base contient toujours les mêmes niveaux, pas de fusion.
En fait, tout ceci provient semble t il du passage en caractère du nom de la variable V6.
Comment faire passer en paramètre une chaine de caractère dans l'instruction suivante :
base$variable<-fusion_niveau(crit$V6,crit$V3,crit$V4)
ou variable prendrait la chaine de caractère V6 ?
Merci d'avance
Partager