Test Non paramétrique (variable à expliquer qualitative)
Bonjour tout le monde,
Je lance des tests non paramétriques au préalable d'un modèle de prédiction pour faire une sélection de variables "discriminantes" (suffisamment pour être conservées tout du moins).
J'ai donc un data.frame de 190430 individus x 34 variables dont ma variable cible qui est qualitative.
Pour "tester" l'apport de chaque variable explicative continue à la prédiction de ma variable qualitative j'ai choisit le(s) test(s) de Wilcoxon-Mann-Whitney et/ou celui de Kruskal-Wallis (ce dernier me paraissait plus simple à interpréter).
Je lance donc ma commande :
Code:
kruskal.test(X1~VarCible, data = mesdonnees)
et forcément j'ai un message d'erreur :
Code:
1 2
| Erreur dans kruskal.test.default(c(27.96, 28.44, 19.15, 32.58, 16.64, 33.78, :
tous les niveaux des groupes doivent être définis |
N'ayant pas très bien compris comment définir ma liste (via l'aide de la fonction kruskal.test je me suis tourné vers le test de Wilcoxon & co
Code:
wilcox.test(X1~VarCible, data = mesdonnees)
qui lui me donne
Code:
1 2 3 4 5
| Wilcoxon rank sum test with continuity correction
data: X1 by VarCible
W = 134352148, p-value = 0.0006247
alternative hypothesis: true location shift is not equal to 0 |
Mais j'avoue que j'aimerai saisir le coup pour la fonction kruskal si quelqu'un a déjà vu ça (normalement ces 2 tests pour une variable cible à 2 modalités - mon cas - ) devraient être équivalents (à peu de chose près non?).
Donc si quelqu'un comprenait le coup de kruskal car l'aide me dit bien :
Code:
1 2 3 4 5
| ## Default S3 method:
kruskal.test(x, g, ...)
## S3 method for class 'formula'
kruskal.test(formula, data, subset, na.action, ...) |
Et dans mon cas je suis bien dans une formule (comme pour Wilcox) et on fait bien appel à des rangs (comme pour Wilcox) donc si il y a égalité de rangs logiquement si ça marche pour l'un des tests ça devrait marcher pour l'autre non?
Autre question ... y'a t'il moyen d'automatiser tout ça car parfois j'aurai plus de 100 variables à pré-traiter comme cela avant de lancer mon modèle de prédiction et 1x1 ça prend du temps :D
Bien cordialement,
Hollow