首页 > 解决方案 > 我怎样才能为年龄间隔做一个指标?

问题描述

我需要为每个年龄区间做一些指标。例如让我需要 4 个指标 I1,I2,I3,I4 对应于以下区间:

  age
 6-18
 19-30
 30-60
 +60

现在假设我有以下数据,所以指标必须是这样的:

age    I_1   I2   I3   I4
 24     0     1    0    0
 10     1     0    0    0
 50     0     0    1    0

然后

标签: rdataframe

解决方案


也许是这样的?

df <- data.frame(age = c(24, 10, 50))
library(dplyr)
df %>% mutate(`6-18` = 1* (age > 6 & age <= 18), 
              `19-30`= 1*(age > 18 & age <= 30))


#   age  6-18  19-30
# 1  24    0     1
# 2  10    1     0
# 3  50    0     0

注意:1 *在 mutate 中是从FALSEand转换为 0 和 1 TRUE。您可以在上面的 mutate 函数中添加其他列。


推荐阅读