2017-02-10 7 views
0

私はここでRが新しくなりました。年齢変数を序数変数に変換

数値変数を序数変数に変換するにはどうすればよいですか?例えば、(85+、< 65、66-75、75-85)のは、私は4つのカテゴリに年齢を再コーディングしたいとしましょう:

Age 
55 
60 
65 
70 
75 
80 
85 
90 
95 

は、あなたが簡単にそれを行うことができ

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

これは '?cut'で行うことができます。 – lmo

答えて

1

なりdplyrさんcase_when

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

あなたは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"