如何在Stata中生成显示另一变量观测频率的新变量?
在Stata中生成变量展示
house number的观测频率 下面提供两种实用方法生成展示house number各取值观测频率的新变量:
方法一:用
bysort结合_N统计
先按house number分组,再通过_N获取每组的观测总数,生成新变量(示例命名为house_freq):bysort house_number: gen house_freq = _N_N代表当前分组内的观测数量,执行后每个观测对应的house_freq值,就是其house number取值的总出现次数。方法二:用
egen的count函数
直接通过egen命令一步生成频率变量,无需手动分组:egen house_freq = count(house_number), by(house_number)该命令会按
by()指定的house number分组,统计每组内house_number的非缺失观测数,最终效果和方法一一致。
缺失值处理补充
如果house number存在缺失值,上述方法会将缺失值作为单独一组统计。若要排除缺失值,可添加条件:
bysort house_number: gen house_freq = _N if !missing(house_number)
或者egen写法:
egen house_freq = count(house_number) if !missing(house_number), by(house_number)
内容的提问来源于stack exchange,提问作者Emily Jones
相关产品推荐
相关产品推荐

