2017-05-04 17 views
0

Calculate industry concentration in Stata based on four biggest numbers, 나는 만 제외 가장 큰 매출 상위 4 기업을 포함하여 변수를 생성하려는 경우에만 최대 매출 내 질문은 매우 위의 이전 게시물에 관련되기 때문에

와 함께 4 대 기업을 포함하여 변수를 생성 휴식. 다시 말하면, 새로운 변수는 주어진 해에 주어진 산업에서 가장 큰 판매량을 가진 4 개 기업의 가치만을 가지며 나머지는 "."이 될 것입니다.

내가 명령에 도움이 될 수 있으면 감사 할 것입니다.

+0

아무 것도 먹었습니까? –

+0

고마워요. Nick 당연히이 문제는 상위 4 개 회사가 매년 바뀌지 않는 경우에만 적용됩니다. –

답변

0

데이터 예제 없음, 코드 시도 없음. 그러나 그 질문은 분명합니다.

webuse grunfeld, clear 
bysort year (invest) : gen largest4 = cond(_n < _N - 3, ., invest) 
sort year invest 
list year largest4 if largest4 < . in 1/40, sepby(year) 

    +-----------------+ 
    | year largest4 | 
    |-----------------| 
    7. | 1935  39.68 | 
    8. | 1935  40.29 | 
    9. | 1935  209.9 | 
10. | 1935  317.6 | 
    |-----------------| 
17. | 1936  50.73 | 
18. | 1936  72.76 | 
19. | 1936  355.3 | 
20. | 1936  391.8 | 
    |-----------------| 
27. | 1937  74.24 | 
28. | 1937  77.2 | 
29. | 1937  410.6 | 
30. | 1937  469.9 | 
    |-----------------| 
37. | 1938  51.6 | 
38. | 1938  53.51 | 
39. | 1938  257.7 | 
40. | 1938  262.3 | 
    +-----------------+ 

당신이 값을 누락했다면, 그들은 각 블록의 끝을 엉망으로 결과를 정렬 할 것 :

이것이 고려하십시오. 그래서 당신은 트릭 더 필요

실행할 수있는이 예와
gen OK = !missing(invest) 
bysort OK year (invest) : gen Largest4 = cond(_n < _N - 3, ., invest) if OK 
sort year invest 
list year Largest4 if Largest4 < . in 1/40, sepby(year) 

,이 누락 된 값없는 결과가 동일합니다.

+0

Nick, 빠른 응답에 감사드립니다. 나는 곧 당신에게 다시 연락하려고 노력할 것이다. –