Stata计算各公社按原籍国划分的移民分布及占比
Stata实现各公社移民国籍占比计算操作步骤
前置要求:你的原始数据集至少包含3个核心字段:公社唯一标识(如
commune_id,编码/名称均可)、移民原籍国标识(如origin_country)、人数统计依据(个体ID字段或提前聚合好的各公社各国籍移民人数字段)步骤1:聚合每个公社+原籍国对应的移民总人数
若你的原始数据是个体级数据(每行对应1名移民),执行:collapse (count) pop_count = [你的个体ID变量名], by(commune_id origin_country)
若已提前聚合好各公社各国籍的移民人数,直接进入下一步。步骤2:计算单个公社的总移民人数
bysort commune_id: egen commune_total = sum(pop_count)步骤3:计算对应原籍国在当前公社的移民占比
gen share = pop_count / commune_total
若需要输出百分比格式,额外执行:replace share = share * 100format share %4.2f可自定义保留的小数位数步骤4:(可选)转换为宽表匹配目标样式
如果你需要生成「一行对应一个原籍国、一列对应一个公社」的交叉表样式,执行:reshape wide pop_count share, i(origin_country) j(commune_id)
注意:如果你的公社、原籍国变量为字符串格式,执行
reshape前需要先将其转换为带标签的数值型变量,避免报错。
内容的提问来源于stack exchange,提问作者mouad khoubbane
相关产品推荐
相关产品推荐

