1. stata用兩個變數merge
你沒有說清楚問題,兩個文件里的公司代碼是identical的么? 就是說兩個文件中公司代碼都只對應一個年份么?如果是這樣,直接merge 公司代碼就行。。。如果兩個文件中是那種類似於panel data的結構,就是同一個公司有好幾個年份的觀測值,那麼你就先generate a new variable based on year and id. 兩個文件都生成一個新的variable, 然後用這個新的merge.
2. stata 中的 reshape命令怎麼用
這個命令用來對長型(long)數據和寬型(wide)數據相互轉換,下面這個圖很好地說明了這個命令的用法:
上圖中,i 代表個案的編號,j代表i的第j項數據的編號。左邊表示,第i個個案的數據中,j有兩個編號與之對應。比如,我們可以想像成兩個省第1年有gdp,第二年也有gdp,用i來區分省份名稱,如i代表四川,2代表雲南。而j則用來區分年份。例如j為1時,代表2000年的gdp,為2時代表2001年的GDP等。這樣,這兩個表的意義就明確了。下面的命令就是reshape的用法了。
reshape wide stub, i(i) j(j)(從長到寬)
reshape long stub, i(i) j(j)(從寬到長)
這是基本用法。先把這個用會吧,後面的自己就容易理解了。
例:
webuse reshape1
list
reshape long inc ue, i(id) j(year)
list, sepby(id)
reshape wide
或:
reshape wide inc ue, i(id) j(year)
3. 在stata中怎麼把變數值從小到大分成五組
下面將變數price分成五組,
sort price
gen id=_n
local i1=trunc(_N/5)
local i1_=trunc(_N/5)+1
local i2=trunc(2*(_N/5))
local i2_=trunc(2*(_N/5))+1
local i3=trunc(3*(_N/5))
local i3_=trunc(3*(_N/5))+1
local i4=trunc(4*(_N/5))
local i4_=trunc(4*(_N/5))+1
local i5=_N
recode id (1/`i1' = 1) (`i1_'/`i2'=2) (`i2_'/`i3'=3) ( `i3_'/`i4'=4) (`i4_'/`i5'=5),gen(id_)
label define groupla 1 "第一組" 2 "第二組" 3 "第三組" 4 "第四組" 5 "第五組"
label values id_ groupla