數(shù)據(jù)處理 | 一些野路子

這期推送簡(jiǎn)單介紹一下我在以往清洗數(shù)據(jù)的過(guò)程中用過(guò)的一些野路子寻咒。

這期推文其實(shí)在上期之后就一直在構(gòu)思仁锯,只是在實(shí)際落地的時(shí)候有一些小問(wèn)題需要解決锣杂,然后這段時(shí)間又在忙其他事情,所以就一直拖到了現(xiàn)在……

Note: 1缔杉、下劃線字體為鏈接锤躁,可點(diǎn)擊跳轉(zhuǎn);2或详、推文中的公式與代碼塊均可左右滑動(dòng);3郭计、該文首發(fā)于微信公眾號(hào)DMETP霸琴,歡迎關(guān)注;4昭伸、需要本次推送所使用的數(shù)據(jù)和代碼的朋友梧乘,可以在公眾號(hào)后臺(tái)對(duì)話框內(nèi)回復(fù)關(guān)鍵詞coups;5、文中所有外部命令均可通過(guò)以下方式獲得选调,以高維固定效應(yīng)估計(jì)命令reghdfe為例:

*- 法一:
   ssc install reghdfe, replace

*- 法二:
   findit reghdfe

*- 法三:
   search reghdfe

一夹供、數(shù)據(jù)格式轉(zhuǎn)換與合并

當(dāng)我們從EPS中國(guó)微觀經(jīng)濟(jì)數(shù)據(jù)查詢系統(tǒng)按照單年數(shù)據(jù)查詢下載好每一年的csv文件后,假設(shè)我們按照年份把這些csv文件分別放到不同的文件夾中仁堪,接下來(lái)的事情就是把這些csv文件統(tǒng)一轉(zhuǎn)化為dta文件哮洽,再將這些同一年份的dta文件縱向append到一個(gè)dta文件中。

往期推送的解決方案是:

  • 首先弦聂,利用批處理對(duì)文件重命名鸟辅;
  • 其次,使用StatTransfer軟件將csv文件轉(zhuǎn)為dta文件莺葫;
  • 最后匪凉,在Stata中修正亂碼并使用for循環(huán)進(jìn)行多個(gè)數(shù)據(jù)集的縱向合并。

整體來(lái)看捺檬,這樣的操作比較繁亂再层,而且特別容易出錯(cuò)。事實(shí)上堡纬,Stata有一個(gè)csvconvert外部命令能夠同時(shí)進(jìn)行多個(gè)csv文件的轉(zhuǎn)換與合并树绩,極大地方便了我們的數(shù)據(jù)清洗工作(除了不能修正亂碼)。下面結(jié)合工企數(shù)據(jù)庫(kù)對(duì)該命令進(jìn)行簡(jiǎn)要介紹隐轩。

首先饺饭,在桌面創(chuàng)建一個(gè)文件夾,并將其命名為exp职车,在該文件夾中再創(chuàng)建兩個(gè)子文件夾:

  • 一是raw_data文件夾瘫俊,raw_data中再分別按照年份創(chuàng)建16個(gè)孫文件夾(1998-2013年),分別存放我們下載好的對(duì)應(yīng)年份的原始數(shù)據(jù)悴灵。
  • 二是temp_data文件夾扛芽,用于存放我們操作過(guò)程中產(chǎn)生的緩存數(shù)據(jù)。

其次积瞒,在Stata中定義原始數(shù)據(jù)及緩存數(shù)據(jù)存放路徑的全局暫元川尖。

global path      C:\Users\KEMOSABE\Desktop\exp
global raw_path  $path\raw_data
global temp_path $path\temp_data

之后,結(jié)合循環(huán)語(yǔ)句和csvconvert命令將原始數(shù)據(jù)合并為16個(gè)dta文件茫孔。

forvalue i = 1998/2013 {
    capture csvconvert $raw_path\\`i' ,                                      ///
            replace output_dir( $temp_path ) output_file(`i')
    }

以1998年為例:

  • $raw_path\\1998是1998年所有原始數(shù)據(jù)存放的路徑叮喳,在子路徑和孫路徑中間加兩個(gè)\的原因是,如果只加一個(gè)\缰贝,Stata將自動(dòng)忽略這個(gè)符號(hào)從而報(bào)錯(cuò)馍悟。
  • replace代表替代該路徑下的同名文件。
  • output_dir( $temp_path )代表輸出的緩存文件的存放路徑剩晴,這里是C:\Users\KEMOSABE\Desktop\exp\temp_data锣咒。
  • output_file(1998)代表該緩存文件命名為1998侵状。

整體來(lái)看,csvconvert命令確實(shí)比之前的方法要簡(jiǎn)便毅整。但是趣兄,一個(gè)不能忽視的問(wèn)題是,在我們得到這16年的dta文件之后悼嫉,任意打開一個(gè)文件可以發(fā)現(xiàn)亂碼的現(xiàn)象是普遍存在的艇潭,包括所有變量名稱、字符型數(shù)據(jù)和標(biāo)簽承粤。之前的方法可以使用Stata自帶的轉(zhuǎn)碼命令進(jìn)行轉(zhuǎn)碼暴区,但是通過(guò)csvconvert輸出的數(shù)據(jù)集卻只能對(duì)標(biāo)簽進(jìn)行轉(zhuǎn)碼,我嘗試了幾乎所有能找到的方法,但這些方法都不能奏效。針對(duì)這個(gè)頑疾膏斤,歡迎各位讀者在公眾號(hào)后臺(tái)與我交流

二伐割、OP法計(jì)算企業(yè)TFP

OP法測(cè)算TFP的常用外部命令是opreg,在該命令下需要企業(yè)退出變量Exit刃唤,Exit的取值規(guī)則是:若企業(yè)在下一年退出市場(chǎng)且于觀察期內(nèi)不復(fù)進(jìn)入時(shí)取1隔心,否則取0;特別地尚胞,當(dāng)企業(yè)在觀測(cè)期末年仍舊存續(xù)時(shí)取0硬霍。以工企數(shù)據(jù)庫(kù)為例,存在以下四種情況:

  • 情況一笼裳,企業(yè)只有單年觀測(cè)值( singleton )唯卖,也就是說(shuō),某企業(yè)在1998-2013年這16年的觀測(cè)區(qū)間內(nèi)只有一年觀測(cè)值躬柬。對(duì)于這種樣本拜轨,Exit的取值情況不影響回歸結(jié)果,因?yàn)樵趨⑴c回歸時(shí)單年觀測(cè)值將被自動(dòng)剔除(除非強(qiáng)行不剔除允青,如reghdfe命令下使用keepsingletons選擇項(xiàng)橄碾,但這樣的后果是統(tǒng)計(jì)顯著性有偏)。在這里颠锉,我們將其取1法牲。
  • 情況二,企業(yè)存在兩年及以上觀測(cè)值木柬,并且這些觀測(cè)值在時(shí)間上連續(xù)皆串,如某企業(yè)在2001、2002和2003年這三年內(nèi)存續(xù)眉枕,并且在2003年以后不存在(無(wú)論其原因是退出市場(chǎng)還是數(shù)據(jù)本身的缺陷)。對(duì)于這種情況,我們令Exit在2001年和2002年取0速挑,2003年取1谤牡。
  • 情況三,企業(yè)存在兩年及以上觀測(cè)值姥宝,并且這些觀測(cè)值在時(shí)間上不連續(xù)翅萤,如某企業(yè)在2001、2002和2004年這三年內(nèi)存續(xù)腊满,并且在2004年以后不存在套么。在這種情況下,我們令Exit在2001年和2002年取0碳蛋,2004年取1胚泌。對(duì)于間斷的年份(如這里的2003年),我們認(rèn)為企業(yè)在這些間斷年份內(nèi)仍舊保持存續(xù)肃弟,數(shù)據(jù)缺失不表明企業(yè)不存續(xù)玷室。
  • 情況四,特別地笤受,如果某企業(yè)在2013年存在觀測(cè)值穷缤,由于我們無(wú)法得知企業(yè)在2014年的存續(xù)狀態(tài),因此我們令Exit在2013年取0箩兽。

我們以一個(gè)手工生成的數(shù)據(jù)集為例津肛。

clear all
input id year emp
      1  2011 1
      2  2008 0
      2  2009 0
      2  2010 0
      2  2011 0
      2  2012 0
      2  2013 0
      3  2008 0
      3  2010 0
      3  2011 0
      3  2012 0
      3  2013 0
      4  2008 0
      4  2011 0
      4  2012 0
      4  2013 0
      5  2008 0
      5  2009 0
      5  2011 0
      5  2012 0
      5  2013 0
      6  2008 0
      6  2009 0
      6  2010 0
      6  2011 0
      6  2012 1
      7  2006 0
      7  2007 1
end
list, sepby(id)

其中,變量emp是企業(yè)實(shí)際的存續(xù)狀況汗贫,其取值與后面創(chuàng)建的Exit變量保持一致身坐。可以看到芳绩,個(gè)體1符合上文中的情況一掀亥;個(gè)體2符合情況二和情況四;個(gè)體3妥色、4和5符合情況三和情況四搪花;個(gè)體6和個(gè)體7符合情況二。

下面是創(chuàng)建Exit變量的代碼嘹害。

xtset id year
bysort id: gen Exit = (_n == _N)
replace Exit = 0 if year == 2013
bro

可以看到撮竿,Exit的取值與emp保持一致。

事實(shí)上笔呀,opreg命令的編寫者Yasar et al.(2008幢踏;2012)也提供了變量Exit的生成方法。下面是參照Yasar et al.(2008许师;2012)的方法生成工企數(shù)據(jù)庫(kù)企業(yè)退出變量exit的代碼房蝉。

[2] Yasar M, Raciborski R, Poi B. Production Function Estimation in Stata Using the Olley and Pakes Method[J]. Stata Journal, 2008, 8(02): 221-231.

[3] Software Updates[J]. Stata Journal, 2012, 12(01): 167-167.

xtset id year
sort id year
by id: gen count = _N
gen survivor = (count == 16)
gen has98 = 1 if year == 2013
sort id has98
by id: replace has98 = 1 if has98[_n-1]  == 1
replace has98 = 0 if has98 == .
sort id year
by id: gen has_gaps = 1 if year[_n-1] != year-1 & _n != 1
sort id has_gaps
by id: replace has_gaps = 1 if has_gaps[_n-1] == 1
replace has_gaps = 0 if has_gaps == .
sort id year
by id: gen exit = (survivor == 0 & has98 == 0 & has_gaps != 1 & _n == _N)
replace exit = 0 if exit == 1 & year == 2013
drop count survivor has98 has_gaps
bro

可以看到僚匆,empExitexit保持一致搭幻。

此外咧擂,部分研究者在生成Exit變量時(shí),直接將存續(xù)年份不連續(xù)的樣本剔除檀蹋,關(guān)于這種做法的理論與文獻(xiàn)基礎(chǔ)我暫時(shí)沒(méi)有找到松申,因此其合理性存疑。下面的實(shí)現(xiàn)代碼借鑒了黃河泉老師(2021)在經(jīng)管之家論壇的回答俯逾。若有必要贸桶,這段代碼在Exit生成之前運(yùn)行即可。

xtset id year
gen d = 1
tsfill
bysort id: egen tem1 = count(d)
bysort id:  gen tem2 = _N
keep if tem1 == tem2
drop d tem1 tem2 // 剔除存續(xù)序列不連續(xù)的樣本桌肴,該步驟的必要性與合理性存疑

OP法測(cè)算企業(yè)TFP皇筛,除了上文介紹的opreg命令,prodest這個(gè)外部命令也能實(shí)現(xiàn)识脆,且不需要加入Exit變量设联。prodest除了可以使用OP法測(cè)算TFP,還可以使用LP法灼捂、WRDG法离例、MR法、以及OP法和LP法的ACF修正法悉稠,具體方法與使用細(xì)節(jié)可以鍵入help prodest進(jìn)行了解宫蛆。

值得一提的是,在實(shí)際測(cè)算中的猛,OP耀盗、LP、WRDG和MR方法測(cè)算的TFP基本保持一致卦尊,但ACF法測(cè)算的結(jié)果與前面幾種相比存在較大偏差叛拷。篇幅所限,這幾種測(cè)算方法的結(jié)果對(duì)比推文沒(méi)有貼出來(lái)岂却,而是放在了網(wǎng)盤中忿薇,公眾號(hào)后臺(tái)回復(fù)關(guān)鍵詞coups即可獲取下載鏈接。

三躏哩、截取字符串生成新變量

假設(shè)有一個(gè)字符型變量署浩,在該變量下的數(shù)據(jù)為字母與數(shù)字的混合組合,且長(zhǎng)度不一致∩ǔ撸現(xiàn)在的需求就是筋栋,生成兩個(gè)新變量,其中一個(gè)變量記錄字符型變量的字母部分正驻;另外一個(gè)變量記錄字符型變量的數(shù)字部分弊攘,且將變量類型改為數(shù)值型抢腐。

最初的想法是使用substr()函數(shù),但問(wèn)題是字符型變量的長(zhǎng)度不一致肴颊,而substr()函數(shù)只能截取固定位置的信息氓栈,也就是說(shuō)渣磷,substr()函數(shù)要求變量的長(zhǎng)度保持一致婿着。這里將嘗試使用正則表達(dá)式(regular expression)。

還是以一個(gè)手工生成的數(shù)據(jù)集為例醋界。

clear all
input str8 x
           "abc"
           "123"
           "abc123"
           "123abc"
           "a1b2c3"
           "1a2b3c"
end

可以看到竟宋,該數(shù)據(jù)集的唯一變量x有多個(gè)字符串組合,包括純字母形纺、純數(shù)字丘侠、前字母后數(shù)字、前數(shù)字后字母以及其他組合類型逐样。下面的實(shí)現(xiàn)代碼專門針對(duì)前三種組合蜗字,至于后面幾種組合,利用正則表達(dá)式也能實(shí)現(xiàn)脂新。

gen x1 = regexs(0) if regexm(x, "^([a-z]*)([0-9]*)$")
gen x2 = regexs(1) if regexm(x, "^([a-z]*)([0-9]*)$")
gen x3 = regexs(2) if regexm(x, "^([a-z]*)([0-9]*)$")

destring x3, replace

list, separator(6)
bro

/*
     +-----------------------------+
     |      x       x1    x2    x3 |
     |-----------------------------|
  1. |    abc      abc   abc     . |
  2. |    123      123         123 |
  3. | abc123   abc123   abc   123 |
  4. | 123abc                    . |
  5. | a1b2c3                    . |
  6. | 1a2b3c                    . |
     +-----------------------------+
*/

可以看到挪捕,x2x3就是我們需要的變量。

下面對(duì)代碼進(jìn)行解釋争便,由于這里只是正則表達(dá)式的簡(jiǎn)單應(yīng)用级零,因此不會(huì)做過(guò)多分析,但若能夠熟練使用該方法滞乙,在處理數(shù)據(jù)時(shí)幫助會(huì)很大奏纪。鍵入help string_functions詳細(xì)了解。

  • regexs(#)提示截取信息的位置斩启,#等于0說(shuō)明截取regexm()中逗號(hào)前的內(nèi)容序调;#等于1說(shuō)明截取逗號(hào)后第一個(gè)括號(hào)內(nèi)的內(nèi)容;#等于2說(shuō)明截取逗號(hào)后第二個(gè)括號(hào)內(nèi)的內(nèi)容兔簇。
  • regex()提示信息截取的具體內(nèi)容发绢,雙引號(hào)內(nèi)^表示開始,$表示結(jié)束男韧;[a-z]表示字母朴摊,[0-9]表示數(shù)字;*表示截取0個(gè)及以上的數(shù)字或字母此虑。

四甚纲、永續(xù)盤存法測(cè)算投資額

使用OP法估計(jì)企業(yè)TFP時(shí),須引入企業(yè)投資額作為不可觀測(cè)生產(chǎn)率沖擊的代理變量朦前,以緩解模型中可能存在的同時(shí)性偏差(Simultaneity)(Olley & Pakes介杆,1996)鹃操。

[5] Olley G S, Pakes A. The Dynamics of Productivity in the Telecommunications Equipment Industry[J]. Econometrica, 1996, 64(06): 1263-1297.

因此,在使用OP法估計(jì)工業(yè)企業(yè)TFP時(shí)春哨,固定資產(chǎn)投資額是一個(gè)必須變量荆隘,但在工企數(shù)據(jù)庫(kù)中,不存在固定資產(chǎn)投資額字段赴背。一個(gè)常見的方法是使用永續(xù)盤存法(Perpetual Inventory Method椰拒,PIM)間接測(cè)算,公式如下:

I_{it} = K_{it} - (1 - \delta)K_{it-1} \tag{1}

有兩點(diǎn)比較關(guān)鍵的說(shuō)明:

  • 第一凰荚,K_{it}i企業(yè)在t年的固定資產(chǎn)合計(jì)或固定資產(chǎn)凈值(這里選擇固定資產(chǎn)合計(jì))燃观,(1)式說(shuō)明上一年觀測(cè)值缺失的樣本無(wú)法計(jì)算當(dāng)年的I_{t},因?yàn)樯弦荒甑墓潭ㄙY產(chǎn)合計(jì)數(shù)據(jù)無(wú)法獲得便瑟,但對(duì)于在整個(gè)觀測(cè)區(qū)間內(nèi)至少存在兩年觀測(cè)值的樣本(僅有單年觀測(cè)值的樣本在參與回歸時(shí)將自動(dòng)被剔除)缆毁,t-1年的企業(yè)固定資產(chǎn)合計(jì)K_{it-1}可以以企業(yè)固定資產(chǎn)的平均增長(zhǎng)率進(jìn)行估算,假定平均增長(zhǎng)率為g_i到涂,則K_{it-1}=K_{it}/(1+g_i)(張?zhí)烊A和張少華脊框,2016)。在這里践啄,企業(yè)it年的固定資產(chǎn)增長(zhǎng)率g_{it}計(jì)算公式如下式(2)浇雹,其中tt'在年份不連續(xù)的情況下其差值不等于1,g_i即為g_{it}的組內(nèi)均值往核。

g_{it} = \frac{K_{t}-K_{t'}}{K_{t'}(t-t')} \tag{2}

  • 第二箫爷,\delta為經(jīng)濟(jì)折舊率,對(duì)\delta的選擇是充滿有爭(zhēng)議的聂儒。根據(jù)經(jīng)濟(jì)學(xué)領(lǐng)域的常用選擇虎锚,可以將經(jīng)濟(jì)折舊率設(shè)定為9.6%(張軍等,2004衩婚;何興強(qiáng)等窜护,2014)。但存在的問(wèn)題是非春,張軍等(2004)測(cè)算的9.6%是各省固定資本形成總額的經(jīng)濟(jì)折舊率柱徙,也就是說(shuō),該數(shù)值沒(méi)有細(xì)分到具體地區(qū)奇昙,也不是我們關(guān)注的制造業(yè)行業(yè)护侮,更關(guān)鍵地,該折舊率的時(shí)間跨度為1952-2000年储耐。因此羊初,為了增強(qiáng)估計(jì)結(jié)果的穩(wěn)健性,還應(yīng)該參考其他文獻(xiàn)的做法來(lái)設(shè)定\delta,如5%(邵宜航等长赞,2013)晦攒、10%(肖文和林高榜,2014得哆;李青原和章尹賽楠脯颜,2021)和15%(聶輝華等,2012)贩据。

[6] 張?zhí)烊A, 張少華. 中國(guó)工業(yè)企業(yè)全要素生產(chǎn)率的穩(wěn)健估計(jì)[J]. 世界經(jīng)濟(jì), 2016, 39(04): 44-69.

[7] 張軍, 吳桂英, 張吉鵬. 中國(guó)省際物質(zhì)資本存量估算:1952—2000[J]. 經(jīng)濟(jì)研究, 2004(10): 35-44.

[8] 何興強(qiáng), 歐燕, 史衛(wèi), 劉陽(yáng). FDI技術(shù)溢出與中國(guó)吸收能力門檻研究[J]. 世界經(jīng)濟(jì), 2014, 37(10): 52-76.

[9] 邵宜航, 步曉寧, 張?zhí)烊A. 資源配置扭曲與中國(guó)工業(yè)全要素生產(chǎn)率——基于工業(yè)企業(yè)數(shù)據(jù)庫(kù)再測(cè)算[J]. 中國(guó)工業(yè)經(jīng)濟(jì), 2013(12): 39-51.

[10] 肖文, 林高榜. 政府支持栋操、研發(fā)管理與技術(shù)創(chuàng)新效率——基于中國(guó)工業(yè)行業(yè)的實(shí)證分析[J]. 管理世界, 2014(04): 71-80.

[11] 李青原, 章尹賽楠. 金融開放與資源配置效率——來(lái)自外資銀行進(jìn)入中國(guó)的證據(jù)[J]. 中國(guó)工業(yè)經(jīng)濟(jì), 2021(05): 95-113.

[12] 聶輝華, 江艇, 楊汝岱. 中國(guó)工業(yè)企業(yè)數(shù)據(jù)庫(kù)的使用現(xiàn)狀和潛在問(wèn)題[J]. 世界經(jīng)濟(jì), 2012, 35(05): 142-158.

下面以一個(gè)手動(dòng)生成的數(shù)據(jù)集為例。

clear all

input id year
      1  2011
      2  2008
      2  2009
      2  2010
      2  2011
      2  2012
      2  2013
      3  2008
      3  2011
      3  2012
      3  2013
      4  2008
      4  2013
      5  2008
      5  2009
      5  2011
      5  2012
      5  2013
      6  2008
      6  2009
      6  2010
      6  2011
      6  2012
      7  2006
      7  2007
end
set seed 2021
gen asset = abs(rnormal())

可以看到乐设,個(gè)體1只有單年觀測(cè)值讼庇,個(gè)體3、4和5的樣本年份不連續(xù)近尚。如果按照一般的方法使用PIM測(cè)算企業(yè)固定資產(chǎn)投資額,全部個(gè)體在樣本初年的指標(biāo)均無(wú)法計(jì)算场勤,且年份不連續(xù)的個(gè)體在年份開始初年的指標(biāo)也無(wú)法計(jì)算戈锻,如個(gè)體3在2011年的固定資產(chǎn)投資額無(wú)法計(jì)算。

sort id year
bys id: gen growth = (asset[_n] - asset[_n-1]) / (asset[_n-1] * (year[_n] - year[_n-1]))

xtset id year
tsfill
tsappend, add(1)
bys id: replace year = year[1] - 1 if _n == _N
sort id year
bys id: egen growth_mean = mean(growth)

bys id: gen ceiling = 1 if _n == _N
gen asset_hypo = asset
bys id: replace asset_hypo = asset_hypo[_n+1] / (1 + growth_mean)  ///
           if asset == . & asset[_n+1] != . & ceiling != 1

*- 經(jīng)濟(jì)折舊率δ = 9.6%(張軍等和媳,2004)
bys id: gen investment1 = asset_hypo - asset_hypo[_n-1] * (1 - 0.096)

*- 經(jīng)濟(jì)折舊率δ = 5%(邵宜航等格遭,2013)
bys id: gen investment2 = asset_hypo - asset_hypo[_n-1] * (1 - 0.05)

*- 經(jīng)濟(jì)折舊率δ = 10%(肖文和林高榜,2014留瞳;李青原和章尹賽楠拒迅,2021)
bys id: gen investment3 = asset_hypo - asset_hypo[_n-1] * (1 - 0.1)

*- 經(jīng)濟(jì)折舊率δ = 15%(聶輝華等,2012)
bys id: gen investment4 = asset_hypo - asset_hypo[_n-1] * (1 - 0.15)

label var investment1 "經(jīng)濟(jì)折舊率取9.6%時(shí)測(cè)算的固定資產(chǎn)投資額"
label var investment2 "經(jīng)濟(jì)折舊率取5%時(shí)測(cè)算的固定資產(chǎn)投資額"
label var investment3 "經(jīng)濟(jì)折舊率取10%時(shí)測(cè)算的固定資產(chǎn)投資額"
label var investment4 "經(jīng)濟(jì)折舊率取15%時(shí)測(cè)算的固定資產(chǎn)投資額"

drop growth growth_mean ceiling asset_hypo
drop if asset == .

list, sepby(id)
*- 只有單年觀測(cè)值的個(gè)體參與回歸時(shí)將被剔除

sum invest*
#delimit ;
twoway (kdensity investment1)
       (kdensity investment2)
       (kdensity investment3)
       (kdensity investment4)
       ;
#delimit cr

bro

其中她倘,growthg_{it}璧微,growth_meang_{it}的組內(nèi)均值g_i,四個(gè)investment#即是不同經(jīng)濟(jì)折舊率下測(cè)算的固定資產(chǎn)投資額硬梁。

下面以核密度曲線圖來(lái)直觀呈現(xiàn)這四個(gè)investment#的偏離程度前硫,如圖 1∮梗可見屹电,這四個(gè)investment#的核密度曲線基本重合,也就是說(shuō)跃巡,對(duì)于手動(dòng)生成的數(shù)據(jù)集危号,在[5,15]這個(gè)區(qū)間選擇任意一個(gè)折舊率進(jìn)行測(cè)算結(jié)果均基本保持一致。

圖 1 investment#核密度曲線圖

五素邪、貨幣型變量的指數(shù)平減

閱讀以下文字前外莲,建議把如何對(duì)變量進(jìn)行指數(shù)平減弄懂,可參考知乎用戶『無(wú)宇』個(gè)人主頁(yè)的第一個(gè)回答娘香。

這里以一份手工生成的數(shù)據(jù)集為例苍狰,該數(shù)據(jù)集包含兩個(gè)個(gè)體1997-2019年的工業(yè)增加值办龄,這兩個(gè)個(gè)體所屬省份均為安徽省(二位數(shù)行政區(qū)劃代碼為34)淋昭,工業(yè)增加值以當(dāng)年價(jià)格計(jì)算俐填,因此需要進(jìn)行指數(shù)平減,平減工業(yè)增加值的常用指數(shù)為工業(yè)品出廠價(jià)格指數(shù)PPI翔忽。

version 17
clear all

set obs 20
set seed 2021
gen id = 1 in 1/10
replace id = 2 in 11/20
bys id: gen year = 1996 + _n
gen province = 1
gen VA = abs(rnormal())
label var VA "工業(yè)增加值(當(dāng)年價(jià)格)"

對(duì)工業(yè)增加值進(jìn)行指數(shù)平減的大致思路可以分為兩步:

  • 第一步英融,將上年=100的PPI轉(zhuǎn)為1997=1;
  • 第二步歇式,利用PPI(1997 = 1)對(duì)貨幣型變量進(jìn)行指數(shù)平減驶悟。

由于指數(shù)平減涉及兩個(gè)數(shù)據(jù)集的數(shù)據(jù)處理與合并,因此下面將使用框架(frame)進(jìn)行操作材失。當(dāng)然痕鳍,對(duì)單個(gè)數(shù)據(jù)集分別進(jìn)行處理,然后再橫向merge到一個(gè)數(shù)據(jù)集也是可行的做法龙巨。

需要說(shuō)明的是笼呆,frame是Stata 16新加入的功能,Stata 15及以下版本無(wú)法使用旨别。Stata中frame的功能類似于Excel的工作表sheet诗赌,方便在同一個(gè)操作窗口中打開多份數(shù)據(jù)集并對(duì)數(shù)據(jù)集進(jìn)行處理,而不需另外加載Stata軟件打開數(shù)據(jù)集秸弛。

先簡(jiǎn)單介紹一下Stata中的frame系列命令铭若,具體信息請(qǐng)鍵入help frame進(jìn)行了解。

  • frame dir:顯示內(nèi)存中所有的框架递览;
  • frame pwf:顯示當(dāng)前正在工作的框架叼屠,pwfframe作用與之相同;
  • frame create newfraname:創(chuàng)建一個(gè)新的框架非迹,并命名為newfraname环鲤,mkf newfraname作用與其一致;
  • frame drop franame:刪除框架franame憎兽,但不可刪除當(dāng)前工作框架冷离;
  • frame change franame:將工作框架轉(zhuǎn)換到franamecwf franame作用與之相同纯命;
  • frame rename oldfraname newfraname:重命名框架西剥;
  • frame franame: commandframe franame {command}在框架franame下運(yùn)行命令;
  • frlink:通過(guò)連接變量linkvar建立兩個(gè)框架之間的連接亿汞;
  • frget: 通過(guò)連接變量將其他框架中的數(shù)據(jù)復(fù)制到當(dāng)前工作框架中瞭空,一般與frlink配合使用,兩者的配合使用功能類似于merge命令進(jìn)行橫向合并(append)。
mkf ppi
frame ppi {
    input province year ppi
          34       1997 99.4
          34       1998 96.4
          34       1999 92.9
          34       2000 98.9
          34       2001 98.6
          34       2002 99.82
          34       2003 103.5
          34       2004 108.16
          34       2005 103.25
          34       2006 103.07
          34       2007 103.6
          34       2008 108.4
          34       2009 92.8
          34       2010 108.98
          34       2011 108.3
          34       2012 98.26
          34       2013 98.16
          34       2014 97.4
          34       2015 93.94
          34       2016 98.5
          34       2017 108
          34       2018 103.03
          34       2019 100.3
    end

    replace ppi = ppi / 100
    label var ppi "工業(yè)品出廠價(jià)格指數(shù)(上年 = 1)"
    sort province year

    gen ppi97 = ppi
    bys province: replace ppi97 = 1 if _n
    bys province: replace ppi97 = ppi97[_n-1] * ppi if _n != 1
    label var ppi97 "工業(yè)品出廠價(jià)格指數(shù)(1997 = 1)"

    format ppi* %6.4f
    list
    }

frame dir
pwf

frlink m:1 province year, frame(ppi) gen(linkid)
frget ppi97, from(linkid)

gen VA1 = VA / ppi97
label var VA1 "工業(yè)增加值(可比價(jià)格)"

bro

其中咆畏,linkid是兩個(gè)框架之間建立聯(lián)系的關(guān)鍵連接變量南捂,ppi97是以1997年為基期的PPIVA1是經(jīng)指數(shù)平減后的工業(yè)增加值旧找,因此該變量在不同年份可比溺健。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市钮蛛,隨后出現(xiàn)的幾起案子鞭缭,更是在濱河造成了極大的恐慌,老刑警劉巖魏颓,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件岭辣,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡甸饱,警方通過(guò)查閱死者的電腦和手機(jī)沦童,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)柜候,“玉大人搞动,你說(shuō)我怎么就攤上這事≡ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵矗烛,是天一觀的道長(zhǎng)辅柴。 經(jīng)常有香客問(wèn)我,道長(zhǎng)瞭吃,這世上最難降的妖魔是什么碌嘀? 我笑而不...
    開封第一講書人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮歪架,結(jié)果婚禮上股冗,老公的妹妹穿的比我還像新娘。我一直安慰自己和蚪,他們只是感情好止状,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著攒霹,像睡著了一般怯疤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上催束,一...
    開封第一講書人閱讀 51,590評(píng)論 1 305
  • 那天集峦,我揣著相機(jī)與錄音,去河邊找鬼。 笑死塔淤,一個(gè)胖子當(dāng)著我的面吹牛摘昌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播高蜂,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼聪黎,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了妨马?” 一聲冷哼從身側(cè)響起挺举,我...
    開封第一講書人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎烘跺,沒(méi)想到半個(gè)月后湘纵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡滤淳,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年梧喷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片脖咐。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡铺敌,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出屁擅,到底是詐尸還是另有隱情偿凭,我是刑警寧澤西篓,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布寒屯,位于F島的核電站,受9級(jí)特大地震影響诱渤,放射性物質(zhì)發(fā)生泄漏胶果。R本人自食惡果不足惜匾嘱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望早抠。 院中可真熱鬧霎烙,春花似錦、人聲如沸蕊连。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)咪奖。三九已至盗忱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間羊赵,已是汗流浹背趟佃。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工扇谣, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人闲昭。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓罐寨,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親序矩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鸯绿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容