stata數(shù)據(jù)合并筆記
之所以開始這個內容的寫作,原因有三:一、省錢。數(shù)據(jù)合并方面的問題我總是遇到,一開始用excel,后面數(shù)據(jù)量太大,不得不花錢請別人用R語言或者Pathon等等軟件清洗數(shù)據(jù)。二、記錄。一遇到這種問題,我總得重新回憶哪個網(wǎng)站有相關stata代碼........然后半個小時就過去了。同時,自己從B站上面也獲得很多,所以吃水不忘挖井人。三,圖書館外面的雨好大,我想去食堂干飯,人都到圖書館門外了,看到雨在地板上打起的N多泡泡,算了,餓著吧。趁著不想看論文的時間,寫點東西吧。開始切入正題,不廢話了。
數(shù)據(jù)合并有四種方法,分別是一對一、一對多、多對一以及多對多。
第一種方法:一對一,一般適用于橫截面樣本。
代碼:merge 1:1 varlist using filename [, options]


將表格1和表格2合并,以make為合并的中介,輸入代碼:merge 1:1 make using xx.dta

1代表該行數(shù)據(jù)僅僅來自于第一份dataset
2代表該行數(shù)據(jù)僅僅來自于第二份dataset
3代表該行數(shù)據(jù)既來自于第一份dataset又來自于第二份dataset。
第二種方法:多對一,橫截面數(shù)據(jù)和面板數(shù)據(jù)皆可使用。代碼:merge m:1 varlist using filename [, options]


代碼:merge m:1 region using xx.dta.通過region這一變量,將表格4和表格5進行合并??梢钥闯鐾荒曛?,表格4有表格5沒有的變量:sale,cost,通過region中介變量為匹配條件,將兩個表格進行合并,即每個region都有對應的cost和sales,如圖表6。

第三種方法:一對多。代碼:merge 1:m region using xx.dta。原理與第二種方法一致。
(https://www.ngui.cc/zz/2026372.html?action=onClick)以上三種方法來自于左邊提供的鏈接
第四種方法:多對多。
在面板數(shù)據(jù)過程中,兩個不同樣本,第一個樣本面板構成為省份-年份-變量1-變量2-變量3,橫截面?zhèn)€體為31個省,總樣本量為500。第二個樣本面板構成為企業(yè)-年份-省份-變量4-變量5-變量6,橫截面?zhèn)€體為400多個企業(yè)。那么如何通過省份這一匹配條件,將第一個樣本的變量1-3填充到第二個樣本中呢?(如圖所示)


首先,將兩個樣本換做為dta格式,并先將大樣本的數(shù)據(jù)導入stata中,然后打開do文件(如表9所示)。

輸入代碼:merge m:n year id using "C:\Users\dell\Desktop\human.dta”,即選擇year 和id(省份)作為匹配條件。其中,?"C:\Users\dell\Desktop\human.dta”這個可以通過查找文件屬性進行輸入。匹配結果如表10所示。
