原則として、回答はc(statistics)
です。このような例の場合、これは合法であり、一種の転置を生成しますが、結果は正確な転置ではありません。より良いことをするための1つの方法があります。
質問に再現可能な例はありませんので、見つけ出す必要があります。
手段の使用は付随しています。他の統計でも同じ問題が発生します。
これは転置したいテーブルの種類です。
. sysuse census, clear
(1980 Census data by state)
. tabstat poplt5-pop65p , s(p50) by(region)
Summary statistics: p50
by categories of: region (Census region)
region | poplt5 pop5_17 pop18p pop65p
--------+----------------------------------------
NE | 185188 637731 2284657 364864
N Cntrl | 327094.5 936449 3126055 521880.5
South | 289571.5 880546 2803536 407053.5
West | 114731 303176 884987 109220
--------+----------------------------------------
Total | 227467.5 629654 2175130 370495
-------------------------------------------------
トリック1:私たちが集計したいものだけからなるデータセットを得ることによって問題を簡素化します。
. collapse (p50) poplt5-pop65p, by(region)
. l
+---------------------------------------------------------+
| region poplt5 pop5_17 pop18p pop65p |
|---------------------------------------------------------|
1. | NE 185,188 637,731 2,284,657 364,864 |
2. | N Cntrl 327,094.5 936,449 3,126,054.5 521,880.5 |
3. | South 289,571.5 880,546 2,803,536 407,053.5 |
4. | West 114,731 303,176 884,987 109,220 |
+---------------------------------------------------------+
トリック2つのカテゴリ変数に異なるカテゴリの異なる変数をマッピングするreshape
を使用。
. reshape long pop, i(region) j(age) string
(note: j = 18p 5_17 65p lt5)
Data wide -> long
-----------------------------------------------------------------------------
Number of obs. 4 -> 16
Number of variables 5 -> 3
j variable (4 values) -> age
xij variables:
pop18p pop5_17 ... poplt5 -> pop
-----------------------------------------------------------------------------
. l, sepby(region)
+------------------------------+
| region age pop |
|------------------------------|
1. | NE 18p 2,284,657 |
2. | NE 5_17 637,731 |
3. | NE 65p 364,864 |
4. | NE lt5 185,188 |
|------------------------------|
5. | N Cntrl 18p 3,126,054.5 |
6. | N Cntrl 5_17 936,449 |
7. | N Cntrl 65p 521,880.5 |
8. | N Cntrl lt5 327,094.5 |
|------------------------------|
9. | South 18p 2,803,536 |
10. | South 5_17 880,546 |
11. | South 65p 407,053.5 |
12. | South lt5 289,571.5 |
|------------------------------|
13. | West 18p 884,987 |
14. | West 5_17 303,176 |
15. | West 65p 109,220 |
16. | West lt5 114,731 |
+------------------------------+
トリック3:tabdisp
を直接使用してください。
. tabdisp age region, c(pop)
--------------------------------------------------------------
| Census region
age | NE N Cntrl South West
----------+---------------------------------------------------
18p | 2,284,657 3,126,054.5 2,803,536 884,987
5_17 | 637,731 936,449 880,546 303,176
65p | 364,864 521,880.5 407,053.5 109,220
lt5 | 185,188 327,094.5 289,571.5 114,731
--------------------------------------------------------------
トリック4:いくつかのクリーンアップが必要な場合があります。
. label def age 1 lt5 2 5_17 3 18p 4 65p
. encode age , gen(ageclass) label(age)
. tab ageclass
ageclass | Freq. Percent Cum.
------------+-----------------------------------
lt5 | 4 25.00 25.00
5_17 | 4 25.00 50.00
18p | 4 25.00 75.00
65p | 4 25.00 100.00
------------+-----------------------------------
Total | 16 100.00
. label def age 1 "<5" 2 "5-17" 3 "18-64" 4 "65+", modify
. tabdisp ageclass region, c(pop)
--------------------------------------------------------------
| Census region
ageclass | NE N Cntrl South West
----------+---------------------------------------------------
<5 | 185,188 327,094.5 289,571.5 114,731
5-17 | 637,731 936,449 880,546 303,176
18-64 | 2,284,657 3,126,054.5 2,803,536 884,987
65+ | 364,864 521,880.5 407,053.5 109,220
--------------------------------------------------------------
文書化されたオプション: 'columns(statistics)'助けを見てください。 –
コード: 'tabstat Age25_29 Age30_34 ...(AlcCons1)列(統計)統計(平均)によって、religAtndY' 'AlcCons1 |平均 --------- + ---------- 1 | .0987326 | .0936242 | .1243994' – user21
これは一見すると面白くて挑戦的な質問です! –