如何在Stata中计算连续与分类变量的缺失值占比?
解决Stata中同时查看连续/分类变量缺失值数量及占比的方法
方法1:使用官方命令misstable summarize
这是最简便的方式,支持所有变量类型,直接输出缺失值统计结果:
misstable summarize _all, miss
执行后会得到每个变量的观测值总数、缺失值数量、缺失值占比,完全满足需求,无需区分变量是连续型还是分类型。
方法2:自定义循环生成贴合示例的格式
如果想要和你给出的示例完全一致的表格样式,可以通过循环遍历变量,手动计算并输出结果:
* 创建存储结果的矩阵 matrix results = J(0,3,.) matrix colnames results = "varname" "no_of_missing" "proportion" * 遍历所有目标变量 foreach var of varlist _all { * 计算总观测数 count local total = r(N) * 计算缺失值数量 count if missing(`var') local miss = r(N) * 计算缺失比例(保留整数百分比) local pct = round(`miss'/`total'*100, 1) * 将结果添加到矩阵 matrix results = results \ ("`var'", `miss', "`pct'%") } * 输出最终结果矩阵 matrix list results, noheader
这段代码会生成和示例格式一致的统计表格,每一行对应一个变量的缺失值数量与占比。
补充说明
- 代码中的
_all代表当前数据集的所有变量,如果你仅需查看特定10个变量,将_all替换为你的变量列表即可,比如varlist Sex Age Ethnicity ... misstable summarize还支持更多扩展参数,比如添加detail可查看更详细的缺失值分布,添加pattern可查看缺失值组合模式,可按需使用。
内容的提问来源于stack exchange,提问作者Emily
相关产品推荐
相关产品推荐

