首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >变量列表的均值和SDs

变量列表的均值和SDs
EN

Stack Overflow用户
提问于 2022-03-25 02:14:02
回答 1查看 59关注 0票数 0

我在Stata中有下面的代码,我正在尝试将这些代码转换为python

代码语言:javascript
复制
    foreach var in income_pc_r income_village_pc_r income_migration exp_total_pc_r sav_cash12_any_r sav_cash12_amtcon_pc_r anygorl_r_ffv gorl_r_ffv_condamt anygorl_g_ffv gorl_g_ffv_condamt hhsize_r migrant_r {   if inlist("`var'","income_pc_r","income_village_pc_r","income_migration","exp_total_pc_r","savelast12mo_condamt","gorl_r_ffv_condamt","gorl_g_ffv_condamt") {       
qui sum `var', det      
local mean=string(r(mean),"%10.0f")         
local sd  =string(r(sd),  "%10.0f")         
qui sum `var' if treat==0, det      
local meanc=string(r(mean),"%10.0f")        
local sdc  =string(r(sd),  "%10.0f")        
qui sum `var' if treat==1, det      
local meant=string(r(mean),"%10.0f")        
local sdt  =string(r(sd),  "%10.0f")        
file write ofile " `label`var'' & `mean' & `meanc' & `meant' \\" _n ///
                             "              & (`sd') & (`sdc') & (`sdt') \\" _n     }   else {      
qui sum `var', det      
local mean=string(r(mean),"%10.2f")         
local sd =string(r(sd),  "%10.2f")      
qui sum `var' if treat==0, det      
local meanc=string(r(mean),"%10.2f")        
local sdc  =string(r(sd),  "%10.2f")        
qui sum `var' if treat==1, det      
local meant=string(r(mean),"%10.2f")        
local sdt  =string(r(sd),  "%10.2f")        
file write ofile " `label`var'' & `mean' & `meanc' & `meant' \\" _n ///
                             "              & (`sd') & (`sdc') & (`sdt') \\" _n     }        }

对于所有变量都有一个非零值的变量,Stata只在计算平均值和SD时使用这些观测值吗?还是对每个变量进行单独处理?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-25 09:09:14

在这段代码中,每个变量分别处理,因此一个不缺少的值将包含在计算中,而不管其他变量是否存在相同的观测值。

这不是你的目的,但可以简化。

  1. quietly可以说一次,而不是重复一次。--

  1. summarize本身就产生了均值和SD;detail选项过度了。

  1. 只需要一个file write语句。

我不可能测试这个重写。

代码语言:javascript
复制
quietly foreach var in income_pc_r income_village_pc_r income_migration exp_total_pc_r sav_cash12_any_r sav_cash12_amtcon_pc_r anygorl_r_ffv gorl_r_ffv_condamt anygorl_g_ffv gorl_g_ffv_condamt hhsize_r migrant_r {   

if inlist("`var'","income_pc_r","income_village_pc_r","income_migration","exp_total_pc_r","savelast12mo_condamt","gorl_r_ffv_condamt","gorl_g_ffv_condamt") {       
    sum `var'     
    local mean=string(r(mean),"%10.0f")         
    local sd  =string(r(sd),  "%10.0f") 
        
    sum `var' if treat==0     
    local meanc=string(r(mean),"%10.0f")        
    local sdc  =string(r(sd),  "%10.0f")    
    
    sum `var' if treat==1    
    local meant=string(r(mean),"%10.0f")        
    local sdt  =string(r(sd),  "%10.0f")      
}   

else {      
    sum `var'     
    local mean=string(r(mean),"%10.2f")         
    local sd  =string(r(sd),  "%10.2f")      

    sum `var' if treat==0    
    local meanc=string(r(mean),"%10.2f")        
    local sdc  =string(r(sd),  "%10.2f")   
     
    sum `var' if treat==1     
    local meant=string(r(mean),"%10.2f")        
    local sdt  =string(r(sd),  "%10.2f")  
} 
      
file write ofile " `label`var'' & `mean' & `meanc' & `meant' \\" _n ///
                             "              & (`sd') & (`sdc') & (`sdt') \\" _n     

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71611430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档