1. 前言
在目前工作中鸽捻,用stata清洗及分析數(shù)據(jù),感覺很順滑茁肠。無奈不少同學(xué)因?yàn)閔elp文件里的英文望而卻步患民。
帶著學(xué)習(xí)和分享的目的,根據(jù)工作經(jīng)驗(yàn)垦梆,給大家整理一些常用以及不太常用但很有用的命令匹颤,并對該命令的help文件進(jìn)行有側(cè)重的詳解。
2. 命令及獲取
append
:縱向合并數(shù)據(jù),系統(tǒng)自帶命令
3. 描述
append
:將stata數(shù)據(jù)集合并到內(nèi)存中數(shù)據(jù)的最后托猩。最短可縮寫成ap印蓖。
4. 語法
*將以filename為名的stata數(shù)據(jù)合并到內(nèi)存中的數(shù)據(jù)
append using filename [filename ...] [, options]
- [,]:中括號里的為額外選項(xiàng)命令,按需求添加站刑,而添加選項(xiàng)記得加英文逗號,
- filename(文件名):如果語法中只有文件名另伍,則默認(rèn)文件格式為.dta鼻百;如果文件名中有空格绞旅,記得用雙引號""將該目錄名字括起來。
5. 選項(xiàng)
generate(newvar)
:添加該選項(xiàng)温艇,指定新生成變量的變量名為newvar因悲,該變量名用于標(biāo)記數(shù)據(jù)個案來源,其中勺爱,該變量為0晃琳,表示數(shù)據(jù)個案來源于主(master)數(shù)據(jù),即未合并前內(nèi)存中的數(shù)據(jù);該變量為1卫旱,表示數(shù)據(jù)個案來源于第1個調(diào)用數(shù)據(jù)人灼,即using后的第1個數(shù)據(jù)集;該變量為2顾翼,表示數(shù)據(jù)個案來源于第2個調(diào)用數(shù)據(jù)投放,即using后的第2個數(shù)據(jù)集,依次類推适贸。keep(varlist)
:添加該選項(xiàng)灸芳,指定調(diào)用數(shù)據(jù)的中某些變量被保留。如果不添加該選項(xiàng)拜姿,則調(diào)用數(shù)據(jù)中的所有變量被保留烙样。
- 這里的varlist與一般的varlist的不同:
- 這里的不可以縮寫變量名,例如蕊肥,變量名為displacement時谒获,需要寫displacement而不是displ,但是可以用displ~表達(dá)壁却。
- 這里的不可以指定變量范圍究反,例如,age-income儒洛,否則會報(bào)錯精耐。
nolabel
:添加該選項(xiàng),使得調(diào)用數(shù)據(jù)中的值標(biāo)簽不會覆蓋主數(shù)據(jù)中的值標(biāo)簽琅锻。即使不添加該選項(xiàng)卦停,這種情況也不會發(fā)生。nonotes
:添加該選項(xiàng)恼蓬,使得調(diào)用數(shù)據(jù)中的注釋(notes)不會被合并進(jìn)去惊完。默認(rèn)是,調(diào)用數(shù)據(jù)的主數(shù)據(jù)中不存在的注釋會被合并到主數(shù)據(jù)中处硬。force
:當(dāng)主數(shù)據(jù)和調(diào)用數(shù)據(jù)存在相同變量小槐,但是變量在兩個數(shù)據(jù)集中的類型不同(一個數(shù)值,一個是字符串)荷辕,不添加該選項(xiàng)時凿跳,結(jié)果會報(bào)錯;當(dāng)添加該選項(xiàng)時疮方,相同變量可以整合成1個變量控嗜,但調(diào)用數(shù)據(jù)中的數(shù)據(jù)會被設(shè)為缺失,同時出現(xiàn)警告信息骡显。
6. 舉例
*調(diào)用數(shù)據(jù)even
webuse even
*顯示數(shù)據(jù)even情況
list
*調(diào)用數(shù)據(jù)odd
webuse odd
*顯示數(shù)據(jù)odd情況
list
*將數(shù)據(jù)even合并進(jìn)數(shù)據(jù)odd
append using http://www.stata-press.com/data/r15/even
*顯示合并后數(shù)據(jù)情況
list
*調(diào)用系統(tǒng)數(shù)據(jù)auto疆栏,同時清除內(nèi)存數(shù)據(jù)
sysuse auto, clear
*保留數(shù)據(jù)auto中變量foreign等于0的個案
keep if foreign == 0
*將數(shù)據(jù)另存為domestic.dta
save domestic
*調(diào)用系統(tǒng)數(shù)據(jù)auto曾掂,同時清除內(nèi)存數(shù)據(jù)
sysuse auto, clear
*保留數(shù)據(jù)auto中變量foreign等于1的個案
keep if foreign == 1
*保留數(shù)據(jù)auto中make price mpg rep78 foreign這幾個變量
keep make price mpg rep78 foreign
*只將數(shù)據(jù)domestic中make price mpg rep78 foreign這幾個變量合并進(jìn)來
append using domestic, keep(make price mpg rep78 foreign)
*顯示合并后數(shù)據(jù)情況
list
*調(diào)用系統(tǒng)數(shù)據(jù)citytemp,同時清除內(nèi)存數(shù)據(jù)
sysuse citytemp, clear
*保留數(shù)據(jù)citytemp中變量region等于4的個案
keep if region == 4
*將數(shù)據(jù)另存為west.dta
save west
*調(diào)用系統(tǒng)數(shù)據(jù)citytemp壁顶,同時清除內(nèi)存數(shù)據(jù)
sysuse citytemp, clear
*保留數(shù)據(jù)citytemp中變量region等于3的個案
keep if region == 3
*將數(shù)據(jù)另存為south.dta
save south
*調(diào)用系統(tǒng)數(shù)據(jù)citytemp珠洗,同時清除內(nèi)存數(shù)據(jù)
sysuse citytemp, clear
*保留數(shù)據(jù)citytemp中變量region等于1的個案
keep if region == 1
*將數(shù)據(jù)west,數(shù)據(jù)south合并進(jìn)來若专,同時险污,生成新的變量filenum,并且富岳,不帶數(shù)據(jù)west和數(shù)據(jù)south的值標(biāo)簽
append using west south, generate(filenum) nolabel
7. 菜單
Data > Combine datasets > Append datasets
8. 存儲的結(jié)果
無
9. 補(bǔ)充
- 無