Bonjour, je cherche une fonction qui permet de catégoriser en 4 une variable continue afin de pouvoir m'en servir dans une ACM ou une régression logistique sur variable modale.
En vous remerciant d'avance.
Bonjour, je cherche une fonction qui permet de catégoriser en 4 une variable continue afin de pouvoir m'en servir dans une ACM ou une régression logistique sur variable modale.
En vous remerciant d'avance.
Tout dépend de ce que tu veux,
par segments de tailles égales (diviser la plage par 4 et prendre les bornes)? d'effectifs égaux (trier tes individus et découper en 4 segments de même taille)? par k-means (fonction du même nom)?
En fait c'est prendre les 4 quartiles (0 à 25% de l'échantillon, 25% à 50% de l'échantillon, 50 à 75% puis 75% à 100%), comme un boxplot. Me servir de ces 4 limites pour découper en 4 ma variable continue, mais j'imagine que ce type de fonction est également paramétrable pour un découpage en 2 voir 3.
Bonjour,
Une solution possible :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 > x <- rnorm(20) > cut(x, breaks=quantile(x, c(0, 0.25, 0.5, 0.75, 1)), include.lowest = TRUE) [1] (0.759,1.28] [-0.827,-0.342] [-0.827,-0.342] (-0.342,0.046] [5] (0.046,0.759] (-0.342,0.046] [-0.827,-0.342] (-0.342,0.046] [9] (0.759,1.28] (0.759,1.28] [-0.827,-0.342] [-0.827,-0.342] [13] (0.759,1.28] (-0.342,0.046] (0.046,0.759] (-0.342,0.046] [17] (0.046,0.759] (0.046,0.759] (0.759,1.28] (0.046,0.759] Levels: [-0.827,-0.342] (-0.342,0.046] (0.046,0.759] (0.759,1.28] > summary(cut(x, breaks=quantile(x, c(0, 0.25, 0.5, 0.75, 1)), include.lowest = TRUE)) [-0.827,-0.342] (-0.342,0.046] (0.046,0.759] (0.759,1.28] 5 5 5 5
Merci pitipoisson, c'est une solution qui pourrait m'arranger en effet, bon aprés j'ai plusieurs variables continues à 'disjonctiver' du coup il me faudrait faire des boucles vue que ta syntaxe me rajoute les une aprés les autres les colonnes dans un même vecteur.
Mais je suis étonné que R ne propose pas une fonction qui le fasse automatiquement...
Partager