2016-11-09 5 views
0
  • 私には農家がいます。
  • 各農家には、彼がどこに住んでいるかを示す可変領域があります。
  • 農家ごとに私は複数年のデータを持っています。 (ただし、アンバランス パネル!)

1軒の農家、変数Z == 0のために、そして私はそのための領域の最後の年の値にその農家のすべての観測のための可変領域を変更したい場合農家。例えばパネルデータ:他の年のすべての観測に昨年の価値を与える

farmID - year  - region - Z 
1  - 2004  - BE100  - 0 
1  - 2005  - BE100  - 0 
1  - 2006  - BE112  - 0 

farmID - year  - region - Z 
1  - 2004  - BE112  - 0 
1  - 2005  - BE112  - 0 
1  - 2006  - BE112  - 0 

になった場合は、私が試した:

by farmID, if Z==0: replace region[n] = region[_N] 

しかし、それは動作しませんが。助言がありますか?

+0

ここにクロスポスト:http://www.statalist.org/forums/forum/general-stata-discussion/general/1363661-panel-data-give-value-of-the-last-year他の年の観察誰かにクロスポストを伝えることは、どのフォーラムでも丁寧であり、やってはいけないことは広く推奨されていません。 –

+0

こんにちはニック、私がクロス投稿したすべてのケースで、私はいつも答えが最初に与えられた場所へのリンクで両方の記事の下で答えを出します。しかし、私はあなたの懸念を理解しています。私は人々が事前にそれを知りたいという事実を知らなかった。 – user33125

+1

これを事前に知ることは非常に重要です。たとえ人々がすべての可能なサイトを監視しても、それらを同時に監視することはできません。私が最初に質問をしたとき、私はそれが他の場所に掲載されているかどうかを知りたいので、私はそれに答える時間を無駄にしません(既存の回答を改善できない限り)。たとえ人々が1つのサイトだけを見ても質問に答えることはないとしても、事前に誰にでも多くの費用がかかります(1つのURL、秒の仕事を与える必要があります)、基本的な礼儀です。 –

答えて

1
bysort farmID (year) : gen last_region = region[_N] 
#assuming Z does not vary within farmers 
replace region = last_region if Z == 0 
+1

フェイルセーフソリューションは、各パネル内で年にソートすることが重要です。 –

+0

完了、ありがとう入力 –

関連する問題