2017-07-13 15 views
0

私は異なる期間の異なる企業のリストを持っています。 調査期間中、企業は業種を変更します。 私は、データ内の各会社のすべての年度の最終産業価値のみを保持したいと考えています。 誰でもStataでそれをする方法を手伝ってもらえますか? 例:Stataのパネルデータの最後の観測値を他の観測値にコピーする方法は?

現在のデータ

Time Company Industry 
--------------------------- 
1  A  Agriculture 
2  A  Agriculture 
3  A  Mining 
1  B  Service sector 
2  B  Service sector 
3  B  Agriculture 
4  B  Agriculture 
5  B  Other 

目的のデータ

Time Company Industry 
--------------------------- 
1  A  Agriculture 
2  A  Agriculture 
3  A  Agriculture 
1  B  Other 
2  B  Other 
3  B  Other 
4  B  Other 
5  B  Other 
+0

パネルが均衡しているかどうかは、ここでの回答に影響しません。私はタイトルのそれを編集しました。 –

答えて

0

あなたはStataの質問に答える人々のためのデータの例を提供するコマンドを取得するために

ssc install dataex 

を使用してdataexをインストールする必要があります。そうでなければ、あなたのような例は手術を簡単にする必要があります。

ソートを使用する主なデバイスは、by:と下付き文字で、各グループの最後の観測値を選択します。 by:の下には、添え字_Nは常に最後の観測に関連付けられます。

clear 
input Time str1 Company str14 Industry 
1  A  "Agriculture" 
2  A  "Agriculture" 
3  A  "Mining" 
1  B  "Service sector" 
2  B  "Service sector" 
3  B  "Agriculture" 
4  B  "Agriculture" 
5  B  "Other" 
end 

bysort Company (Time): gen Final = Industry[_N] 

list, sepby(Company) 


    +-----------------------------------------+ 
    | Time Company  Industry Final | 
    |-----------------------------------------| 
    1. | 1   A  Agriculture Mining | 
    2. | 2   A  Agriculture Mining | 
    3. | 3   A   Mining Mining | 
    |-----------------------------------------| 
    4. | 1   B Service sector Other | 
    5. | 2   B Service sector Other | 
    6. | 3   B  Agriculture Other | 
    7. | 4   B  Agriculture Other | 
    8. | 5   B   Other Other | 
    +-----------------------------------------+ 

紹介についてはby:のヘルプをご覧ください。手動入力[D] by;そしてその参照。

私は新しい変数を作成しました。これは、一般的にデータ管理のためのより良い考えです。

+0

ありがとうございました。私が文字変数にそれを適用したときに、正しい結果が得られませんでした。しかし、私は因子に変換し、あなたが提供したコードを適用した。私は結果を得ることができます。 もう一度お世話になりました! –

+1

あなたが提供していないデータには正しい結果を与えていないというコードは表示されません。私はそこで手助けできません。そうでなければ、これは助けになりました。 –

関連する問題