【问题标题】:Convert Age variable into ordinal variable [duplicate]将年龄变量转换为序数变量[重复]
【发布时间】:2017-02-10 19:09:26
【问题描述】:

我是 R 新手。

如何将数值变量转换为序数变量?例如,假设我想将年龄重新编码为四个类别(

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

【问题讨论】:

  • 你可以用?cut来做到这一点。

标签: r recode


【解决方案1】:

您可以使用dplyrcase_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)

【讨论】:

    【解决方案2】:

    您可以使用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"
    

    【讨论】:

      猜你喜欢
      • 2019-05-08
      • 2021-06-27
      • 2018-07-20
      • 2016-03-07
      • 1970-01-01
      • 2019-05-21
      • 2018-10-14
      • 1970-01-01
      • 2014-10-30
      相关资源
      最近更新 更多