2016-04-29 9 views
-3

Ich habe Panel-Daten für zwei Jahre für Einzelpersonen (id). Eine Dummy-Variable (empl) nimmt drei Werte an (1,2,3). Ich möchte nur die IDs behalten, die den Wert 1 annehmen. Welchen Stata-Befehl soll ich verwenden?Stata drop Beobachtungen Befehl

keep if empl == 1 

und kümmert sich nicht um die Paneelstruktur

+2

Was Code hast du versucht? Unter http://stackoverflow.com/help/mcve erfahren Sie, wie Sie eine gute Frage stellen können. "einen Wert von 1 annehmen": immer (mindestens einmal) oder immer (für jede Beobachtung in einem Panel)? –

+1

Ich denke, der Großteil der Antwort ist in Ihrer Frage ('help drop'). Ohne weitere Angaben zu Ihrer Datenstruktur ist es jedoch nicht möglich, Ihnen zu helfen. – lmo

+0

@NickCox Ich möchte nur die IDs behalten, für die empl immer 1 ist und die IDs loswerden, für die empl gleich 0, 2 oder 3 ist. Ich habe diesen Code versucht - von empl, sort: keep wenn empl == 1 aber es löschte nicht genug Beobachtung. – user8022

Antwort

0

Der Code zitiert in den Kommentaren zu

by empl, sort: keep if empl == 1 

entspricht.

Was gesucht wird Platten zu halten, für die empl ist immer 1: Wenn das so ist, das Minimum und Maximum sind immer 1, so ist ein Kriterium

by id (empl), sort: keep if empl[1] == empl[_N] & empl[1] == 1 

oder

by id (empl), sort: keep if empl[1] == 1 & empl[_N] == 1 
+0

vielen Dank @Nick – user8022