2006 년부터 2012 년까지 패널 데이터 집합이 있습니다. 새 변수 entry
이 생성되었으므로 국가에 입력 한 회사의 값은 1입니다. 예를 들어, 기업이 시간 (t)에서 매출액에 대해 가치 (.)를 잃어버린다면, 그것은 0
의 가치를 취하고 (t + 1)에서 다른 나라에 들어가면 매출액에 대해 가치가있다. 1
의 값. 내 데이터 이후Stata의 첫 번째 발생 및 마지막 발생
egen firm_id=group(firm country)
by firm_id (year), sort: gen byte entry = ///
sum(inrange(sales, 0,.)) == 1 & sum(inrange(sales[_n - 1],0,.)) == 0
내가 명령에이 년 동안 관찰을 제외 2006 년 시작 : 그러나
bysort firm (year) : replace entry = 0 if year == 2006
내가 원하는 것은 대신 인 다음과 같이 나는이 사용되는 성공적인 명령은 (예 : t + 2 또는 t + 3에서)의 값이 입력 된 후 다음 연도에 누락 된 값을 갖습니다.
내가 출구를 적용하지만 올해의 정렬 순서 변경 같은 : 다시
bysort firm (year) : replace exit = 0 if year == 2012
: 내 데이터의 마지막 관찰 해 2012 년 이후
gen nyear = -year
by firm_id (nyear), sort: gen byte exit = ///
sum(inrange(sales, 0,.)) == 1 & sum(inrange(sales[_n - 1],0,.)) == 0
나는 그 관찰 제외 여기 내가 원하는 것은 0 값을 갖는 대신이 빠져 나온 후 몇 년 동안 누락 된 값을 갖는 것입니다 (예 : t + 2 또는 t + 3).
안녕하세요. Nick 님,이 작품을 이용해 주셔서 감사합니다. 입력 후 나가기 후 몇 년 동안 누락 된 값을 생성합니다. 그러나, 나는 그것의 입력의 이전 년간 누락 값을 생성 싶지 않아 게다가. 예를 들어 firm_id (1) 변수 "isfirst"를 고려한 예제에서 나는 2006 년과 2007 년에 "누락"대신 "0"을 갖고 싶습니다. 다시 말하면, 그 엔트리의 이전 년도에 대한 0 값은 그 엔트리 이후의 후속 연도에 대한 값을 잃어버린다. –
학생을위한 간단한 운동! 힌트 :'cond (year
나는 또한 새 변수를 생성하여 이것을 관리했지만 힌트가 훨씬 뛰어나므로 다른 변수를 작성할 필요가 없습니다. 고마워. 닉. 도와 주셔서 정말 고맙습니다. –