Statistics 统计中面板数据的xtsum-了解T形条
我正在使用xt命令(包括xtsum)来分析Stata中的面板数据。我要么误解了“T-bar”的输出,要么我在一个变量中犯了错误 我的xtsum输出如下所示:Statistics 统计中面板数据的xtsum-了解T形条,statistics,stata,Statistics,Stata,我正在使用xt命令(包括xtsum)来分析Stata中的面板数据。我要么误解了“T-bar”的输出,要么我在一个变量中犯了错误 我的xtsum输出如下所示: Variable Mean Std. Dev. Min Max Observations hours overall 43.83559 31.24379 1 160 N = 1215108 between 25
Variable Mean Std. Dev. Min Max Observations
hours overall 43.83559 31.24379 1 160 N = 1215108
between 25.89261 1 160 n = 44773
within 19.69052 -92.83108 188.2023 T-bar = 27.1393
我的理解是,T-bar代表每个面板变量的平均观察次数(在本例中为每人)。但是,我还设置了一个变量,用于计算每个人的观察次数:
sort hcw_id pp_id
egen ppcount = max(pp_id), by(hcw_id)
pp_id是每个人的观察id,hcw_id是每个人的id。我已在数据编辑器中进行了检查,以验证pp_id是每个peson的观察计数,并且ppcount是每个人的pp_id的最大值。例如,如果一个人有10条记录,每条记录都会用pp_id标记为1-10,ppcount将为10
令人困惑的是:ppcount的平均值是46。这意味着数据中的人平均有46次观察。但为什么这与xtsum输出中的T-bar有如此大的不同?我是否误解了xtsum文档中的某些内容,或者我的ppcount变量是否有偏差
顺便说一句,我想到了另一种反复检查的方法——pp_id统计每个人的工资记录数。根据其他变量,我知道每个人都工作了一年半左右,即大约40个双周工资周期。这表明ppcount是准确的,T-bar测量的是不同的东西
是否有人熟悉xtsum并能对此有所了解?谢谢大家! 您没有向我们展示您用于计算平均值的代码,但您的ppcount平均值很可能是错的,因为您将每个人都包括在平均值中,与他有多少个支付期成比例。例如,如果有两个观测值,一个有2个周期,另一个有6个周期,则 想要计算T-bar=(2+6)/2=4,但您正在计算(2+2+6+6+6+6)/8=5,无条件
汇总
Try(假设付款期从1开始编号)
下面是一些显示此问题的代码:
. clear
. input id t
id t
1. 1 1
2. 1 2
3. 2 1
4. 2 2
5. 2 3
6. 2 4
7. 2 5
8. 2 6
9. end
. set seed 10011979
. gen y = rnormal(id,1)
. list, sepby(id) noobs
+--------------------+
| id t y |
|--------------------|
| 1 1 -.0547995 |
| 1 2 1.713224 |
|--------------------|
| 2 1 2.17048 |
| 2 2 1.184764 |
| 2 3 1.765206 |
| 2 4 -.027979 |
| 2 5 1.975493 |
| 2 6 .6068434 |
+--------------------+
. xtset id t
panel variable: id (unbalanced)
time variable: t, 1 to 6
delta: 1 unit
. xtsum y
Variable | Mean Std. Dev. Min Max | Observations
-----------------+--------------------------------------------+----------------
y overall | 1.166654 .890562 -.0547995 2.17048 | N = 8
between | .3181431 .8292124 1.279135 | n = 2
within | .8658653 -.1404596 2.058 | T-bar = 4
. sort id t
. egen t_count = max(t), by(id)
. sum t_count
Variable | Obs Mean Std. Dev. Min Max
-------------+---------------------------------------------------------
t_count | 8 5 1.85164 2 6
. sum t_count if t==1
Variable | Obs Mean Std. Dev. Min Max
-------------+---------------------------------------------------------
t_count | 2 4 2.828427 2 6
. clear
. input id t
id t
1. 1 1
2. 1 2
3. 2 1
4. 2 2
5. 2 3
6. 2 4
7. 2 5
8. 2 6
9. end
. set seed 10011979
. gen y = rnormal(id,1)
. list, sepby(id) noobs
+--------------------+
| id t y |
|--------------------|
| 1 1 -.0547995 |
| 1 2 1.713224 |
|--------------------|
| 2 1 2.17048 |
| 2 2 1.184764 |
| 2 3 1.765206 |
| 2 4 -.027979 |
| 2 5 1.975493 |
| 2 6 .6068434 |
+--------------------+
. xtset id t
panel variable: id (unbalanced)
time variable: t, 1 to 6
delta: 1 unit
. xtsum y
Variable | Mean Std. Dev. Min Max | Observations
-----------------+--------------------------------------------+----------------
y overall | 1.166654 .890562 -.0547995 2.17048 | N = 8
between | .3181431 .8292124 1.279135 | n = 2
within | .8658653 -.1404596 2.058 | T-bar = 4
. sort id t
. egen t_count = max(t), by(id)
. sum t_count
Variable | Obs Mean Std. Dev. Min Max
-------------+---------------------------------------------------------
t_count | 8 5 1.85164 2 6
. sum t_count if t==1
Variable | Obs Mean Std. Dev. Min Max
-------------+---------------------------------------------------------
t_count | 2 4 2.828427 2 6