Stata循环批量执行t检验后,如何标识结果中的变量与分组变量?
解决Stata批量t检验的输出标识问题
直接修改循环代码,在每次执行t检验前添加标识输出,明确当前检验的被检验变量和分组变量:
ds s_a1_1 s_a1_4a s_a2 s_b3 s_b4 s_b5 s_b6 s_c7 s_c8 s_c9 global teach_vars_detail `r(varlist)' ds m7saq10 m3sdq3_tsup m3sdq6_tsup m7sfq9_pknw_filter urban_rural global teach_vars_basic `r(varlist)' foreach var of varlist $teach_vars_detail teach_literacy_score teach_numeracy_score { foreach x of varlist $teach_vars_basic { // 添加标识输出,明确当前检验的变量组合 di in red "=====================================" di in green "被检验变量:`var` | 分组变量:`x`" di in red "=====================================" ttest `var' if unique_teach_id!="" , by(`x') } }
修改后,每次t检验的输出会先显示清晰的变量标识,示例输出如下:
===================================== 被检验变量:s_a1_1 | 分组变量:urban_rural ===================================== 两样本t检验(方差相等) ------------------------------------------------------------------------------ 分组 | 观测数 均值 标准误 标准差 [95% 置信区间] ---------+-------------------------------------------------------------------- 0 | 98 3.622449 .0513141 .5079838 3.520605 3.724293 1 | 98 3.673469 .0518448 .5132374 3.570572 3.776367 ---------+-------------------------------------------------------------------- 合并样本 | 196 3.647959 .0364249 .5099481 3.576122 3.719796 ---------+-------------------------------------------------------------------- 差值 | -.0510204 .0729453 -.1948881 .0928473 ------------------------------------------------------------------------------ 差值 = 均值(0) - 均值(1) t = -0.6994 原假设H0: 差值 = 0 自由度 = 194 备择假设Ha: 差值 < 0 Ha: 差值 != 0 Ha: 差值 > 0 Pr(T < t) = 0.2426 Pr(|T| > |t|) = 0.4851 Pr(T > t) = 0.7574
说明
- 使用
di命令搭配颜色(in red/in green)可以让标识更醒目,也可以去掉颜色直接用di "=== 被检验变量:var| 分组变量:x===" - 标识会直接输出在对应t检验结果的上方,快速区分不同变量组合的检验结果
内容的提问来源于stack exchange,提问作者Shubhi
相关产品推荐
相关产品推荐

