尝试按2个级别/类别获取描述性/摘要统计数据

时间:2015-03-09 02:03:37

标签: stata

我有一个基本的问题。我正在尝试将描述性统计数据转换为word / excel / txt格式,用于我的数据,该数据由5个重复的横截面调查组成,概率权重[pw = weight_hh]

我希望将描述内容纳入此格式(附件)

Table Format

我将人口分为两组,年份代表调查轮次。目前我正在使用means命令分别为每一轮或每组获取描述,但不能同时获得两者。此外,我使用tabout和outreg2以及导出数据的方法,并且两个命令都保存带有表格的文件,但表格是空白的吗?

我对Stata编程比较陌生,所以如果问题不是很明确,我会道歉。任何方向都将非常感谢。

这就是我现在正在尝试的。

global outcomes marital male age 

foreach var in $outcomes {

  levelsof year, local (year)

    levelsof group, local (group)
    foreach g of local hhgrp {

qui foreach r of loc year {

        qui mean `var' if round==`r' & hhgrp==`g' & keep_main==1 [pw=hhwt]
        matrix N`var'=e(N)
        matrix m`var'=e(b)
        matrix sd`var'=e(V)
        matmap sd`var'sd`var', m(sqrt(@))
        matrix `r'`var'`g'= N`var', m`var', sd`var'
        matrix rownames `var'=`var'

}
}
}

但它每个变量只产生一个矩阵,总共为3个。我希望每个变量产生10个,总共30个

那是

Marital-> 10 matrices-> 5个调查年份x 2个小组

年龄 - > 10个矩阵 - > 5个调查年份x 2个小组

男性 - > 10个基质 - > 5个调查年份x 2个小组

Cross贴在这里:http://www.statalist.org/forums/forum/general-stata-discussion/general/990246-basic-question-about-descriptive-statiistics

2 个答案:

答案 0 :(得分:1)

目前尚不清楚你想要什么。可以使用tabstat生成类似于图像中显示的表格(weights是允许的但在示例中未使用):

clear
set more off

*----- example data -----

sysuse auto

*----- what you want -----

label define lblrep78 1 ", rep 1" 2 ", rep 2" 3 ", rep 3" ///
    4 ", rep 4" 5 ", rep 5"

label values rep78 lblrep78    

egen groupv = group(foreign rep78), label

tabstat price weight, stats(mean semean) by(groupv) nototal

但是,您的代码意味着您需要矩阵。它是哪一个?

答案 1 :(得分:0)

感谢大家的回复。我尝试了tabstat,但它不允许pWeights。我最终使用了这段代码并接近我想要的内容

outreg, clear
global outcomes age yrs_ed marital male  
foreach var in $outcomes {
levelsof round, local (round)
levelsof hhgrp, local (hhgrp)
foreach g of local hhgrp {
qui foreach r of loc round {
        qui mean `var' if round==`r' & hhgrp==`g' & keep_main==1 [pw=hhwt]
        matrix N`var'=e(N)
        matrix m`var'=e(b)
        matrix sd`var'=e(V)
        matrix `var'`g'`r'= m`var', sd`var', N`var'

}
}
}

outreg, clear
frmttable, clear
foreach var in $outcomes {
levelsof hhgrp, local (hhgrp)
foreach g of local hhgrp {

mat `var'`g'= `var'`g'90\ `var'`g'95\ `var'`g'00\ `var'`g'05\ `var'`g'10
}
}
foreach var in $outcomes {
levelsof hhgrp, local (hhgrp)
foreach g of local hhgrp {
qui frmttable using "$output\Output1.doc", sdec (2\2\0\2\2\0\2\2\0\2\2\0\2\2\0) substat(2) statmat(`var'`g')/*
*/ title("Individual Statistics") coljust(l;c) varlabels ctitles("", `var' \ "", `g') /*
*/ rtitles (Mean \ SD \ N \ Mean \ SD\ N\ Mean \ SD \ N \ Mean \ SD \ N \ Mean \ SD \ N ) merge
}
}