2016-08-29 4 views
0

Stataでデータを集計しようとしています。私は英国の地方自治体のコード(例:E06000047)と、レベル(MSOA)より深いデータセットを持っています。Stataでの観測のまとめ

MSOA code MSOA name   Local authority code Net weekly income 
E02004297 County Durham 001 E06000047    480.00 
E02004290 County Durham 002 E06000047    540.00 
E02004298 County Durham 003 E06000047    520.00 
E02004299 County Durham 004 E06000047    430.00 
E02004291 County Durham 005 E06000047    400.00 

私はMSOAレベルのデータに興味がないので、データをローカル認証コードレベルに要約したいと思います。私が失敗したのは、私が文字列データで計算できないという事実です。私は何をしたいです:

foreach identical "Local authority code" take the mean/median and 
store it in a var "means.local-auth" 

のようなものですので、私は期待する:簡単な要約この種の

Local authority code means.local-auth median.local-auth 
E06000047    474.00   480.00 
E06000048    486.00   485.00 
+1

「help collapse」を参照してください。必要なものはすべてそこにあるはずです。 – ander2ed

+1

あなたはここでの文字通りではないか、文字数に制限があります。 "sth"のような略語や "I"のような "i"のような文法的な用法は避けてください。 –

+0

良い質問は、コードでいくつかの試みを示しています。 http://stackoverflow.com/help/mcveを読んでください。 –

答えて

1

、何のループは必要ありません。ここでは、by()を使用して変数を生成するために使用されるegenの再現可能な例を示します(引数は数値または文字列で、実際には単一の変数である必要はありません)。 tabdispは、簡単な集計に便利です。

sysuse auto, clear 
egen mean_mpg = mean(mpg), by(rep78) 
egen median_mpg = median(mpg), by(rep78) 

tabdisp rep78, c(mean_mpg median_mpg) 

---------------------------------- 
Repair | 
Record | 
1978  | mean_mpg median_mpg 
----------+----------------------- 
     1 |   21   21 
     2 |  19.125   18 
     3 | 19.43333   19 
     4 | 21.66667  22.5 
     5 | 27.36364   30 
     . |  21.4   22 
---------------------------------- 

tabdisp rep78, c(mean_mpg median_mpg) format(%2.1f) 

---------------------------------- 
Repair | 
Record | 
1978  | mean_mpg median_mpg 
----------+----------------------- 
     1 |  21.0  21.0 
     2 |  19.1  18.0 
     3 |  19.4  19.0 
     4 |  21.7  22.5 
     5 |  27.4  30.0 
     . |  21.4  22.0 
---------------------------------- 
2

あなたの目的は、ニックのように、レポートを生成するために、または地方自治体レベルでの解析に向けた最初のステップを取ることであれば、それはあなたの質問から明らかではないので、ここであなたを取るためにcollapseを使用するコードがあります地方自治体レベルに引き下げることができます。

. * Example generated by -dataex-. To install: ssc install dataex 
. clear 

. input str20(msoa_c msoa_n lac) float income 

      msoa_c    msoa_n   lac income 
    1. "E02004297" "County Durham 001" "E06000047" 480 
    2. "E02004290" "County Durham 002" "E06000047" 540 
    3. "E02004298" "County Durham 003" "E06000047" 520 
    4. "E02004299" "County Durham 004" "E06000047" 430 
    5. "E02004291" "County Durham 005" "E06000047" 400 
    6. end 

. format income %9.2f 

. drop msoa_c msoa_n 

. collapse (mean) mean_inc=income (median) med_inc=income, by(lac) 

. list 

    +--------------------------------+ 
    |  lac mean_inc med_inc | 
    |--------------------------------| 
    1. | E06000047  474.00 480.00 | 
    +--------------------------------+ 

. 
関連する問題