在数据分析过程中,我们通常关心一个区间而非具体某个点的情况,如年龄对工资的影响,显然35岁与36岁没有本质区别。因此我们需要将年龄分组,比如0-20岁、20-30岁等,此时就要将年龄转换为类别变量。
group
- 等分数据
- 必须先对数据进行排序
gen g_pri = group(price)
recode
- 指定分界点
- 前开后闭区间
recode price (min/5000 = 1) (5000/8000 = 2) (8000/max = 3), gen(g_price)
irecode
- 函数,同recode
- 命令更简洁
gen ig_pri = irecode(price, 5000, 8000)
cond
- 条件函数,和三目运算差不多
- 语法:cond(x, a, b),满足x返回a否则返回b
- 将数据分为两组时可用
gen c_price = cond(price > 8000, 1, 0)