我有一个基本的问题。我正在尝试将描述性统计数据转换为word / excel / txt格式,用于我的数据,该数据由5个重复的横截面调查组成,概率权重[pw = weight_hh]
我希望将描述内容纳入此格式(附件)
我将人口分为两组,年份代表调查轮次。目前我正在使用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个小组
答案 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
}
}