2013-06-08 2 views
1

두 개의 데이터 세트가 있습니다. 첫 번째는 다음과 같습니다Stata. 1 : m 관계에서 값을 일치시키는 방법은 무엇입니까?

countyGroup income other_data_ 
    1  20990 … 
    2  25622 … 
    3  24289 … 
    4  27391 … 
    5  23326 … 
    6  19261 … 
    7  15197 … 
    8  11132 … 

두 번째는 다음과 같습니다 countyGroup

countyGroup state county other_data 
    1  IL  123  … 
    1  IL  123  … 
    2  MI  365  … 
    1  IL  123  … 
    3  AK  65  … 
    4  IL  546  … 
    5  MI  689  … 
    6  AK  32  … 

변수는 고유 statecounty 모두를 식별합니다. 두 번째 데이터 세트는 countyGroup, statecounty입니다. 첫 번째 데이터 세트에는 countyGroup 만 포함됩니다. 첫 번째 데이터 세트에 두 개의 변수 (statecounty)를 생성해야합니다. 난 항상 drop 그 중복 행 수 ...

use dataset1 
merge 1:m countyGroup using dataset2, keepusing(state state cntyfp) update replace 

내가 중복 행 ... 나는 그것이 작동하지 않았다 1:1 시도이다 얻을 결과 :

나는 merge를 사용하여 값과 일치하도록 시도 하지만 처음부터 올바르게 병합하고 싶었습니다.

답변

3

중복 된 행 (Stata의 용어는 "관찰"임)에 대해 알아야합니다. 이들 변수가 모든 변수에서 동일하다면, 추가 정보가 없으며 이전에 이들을 제거하기 위해 duplicates drop을 사용하는 것이 가장 깨끗하고 간단합니다.

duplicates은 중복을 관리하기위한 일반적인 도구입니다.

다른 변수에 대한 정보가 다른 경우 그 정보와 목표를 자세히 알려주십시오.

은 (이상) 사용자의 데이터 세트를 사용하면

merge 1:m countyGroup using dataset2 

가 잘 작동하는 것 같다 기록했다.

+0

두 개의 초기 데이터 세트에는 중복 된 관측치가 들어 있지 않습니다. 그러나, 내가 위에서 보여준 것과 같은 방법으로 그것들을 병합하면 결과 데이터 세트에 중복이 생깁니다. – CHEBURASHKA

+0

표시 할 내용에는 두 번째 데이터 집합의 처음 세 변수에 중복이 포함됩니다. 관찰 결과가 다른 변수와 다른 경우 정확하게 문제가 무엇입니까? 변수가 다른 변수와 다르지 않으면 내 대답이 적용됩니다. 일반적으로, 나는 당신이 당신의 문제가 무엇인지를 설명하기에 충분한 정보를 보여주고 있다고 생각하지 않는다. 최소한의 현실적인 예를 보여줄 수 있습니까? –

+0

그들은 다릅니다. 이것이 행이 중복되지 않는 방법입니다. 1) 첫 번째 데이터 세트에는 각 'countyGroup'에 대한 집계 값이 포함됩니다. 2) 두 번째 데이터 세트는 각 개인의 개별 값입니다. 그리고'countyGroup','state','county' ('countyGroup'은'state'와'county'를 모두 식별합니다)에 대한 정보를 담고 있습니다. 3) 고유 한'countyGroup'이 주어지면 첫 번째 데이터 세트에'state'와'county' 변수를 생성하는 것이 저의 목표입니다. 그러나 동일한 'countyGroup'에 살고있는 사람들이 많기 때문에, 나는 결과 테이블에 복제본을 얻을뿐입니다. – CHEBURASHKA

관련 문제