我需要针对每个年龄段制定一些指标。例如,让我需要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
然后
答案 0 :(得分:1)
也许是这样吗?
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 *
将从FALSE
和TRUE
转换为0和1。您可以在上面的mutate函数中添加其他列。