2017-02-10 2 views
0

Je suis nouveau chez R ici. Comment puis-je convertir des variables numériques en variables ordinales? Par exemple, disons que je veux recoder âge en quatre catégories (< 65, 66-75, 75-85, 85+):Convertir la variable Age en variable ordinale

Age 
55 
60 
65 
70 
75 
80 
85 
90 
95 

devient

Age 
Young-Old 
Young-Old 
Med-Old 
Med-Old 
Med-Old 
Old 
Old 
Old-Old 
Old-Old 
+0

Vous pouvez le faire avec '? Cut'. – lmo

Répondre

1

Vous pouvez facilement le faire avec de case_whendplyr:

library(dplyr) 
age <- c(55, 60, 65, 70, 75, 80, 85, 90, 95) 

age2 <- case_when(age <= 65 ~ 'Young-Old', 
        between(age, 66, 75) ~ 'Med-Old', 
        between(age, 76, 85) ~ 'Old', 
        age >= 86 ~ 'Old-Old' 
       ) 
age2 <- as.factor(age2) 
0

Vous pouvez le faire en utilisant la commande cut.

age <- c(55, 60, 65, 70, 75, 80, 85, 90, 95) 
breaks <- c(0,65,75,85,Inf) 
age_transformed <- cut(age,breaks = breaks) 

levels(age_transformed) 
levels(age_transformed)[1] = "Young-Old" 
levels(age_transformed)[2] = "Med-Old" 
levels(age_transformed)[3] = "Old" 
levels(age_transformed)[4] = "Old-Old"