版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
本文部分內容來自網絡整理.本司不為其真實性倒責.知有異議或侵權清及時聯(lián)系.本司將立即刪除!=本文為word格式,下載后可方便編輯和修改!==stata合并數據范例篇一:stata數據折分或合并stata數據折分或合并命令命令解釋用法示例drop刪除變量或觀察值dropmathkeep保留變量或觀察值keepmathappend將兩個數據集拼接(觀察值拼接)appendusingmathmerge將兩個數據集合并(變量合并)mergeidusingmathreshape將數據重整reshapelonginc,i(id)j(yr)stack將多列數據轉換成一列數據stackabed,into(ef)xpose數據轉置xpose,clear將mydata拆分成女生數據集femaleusemydata,clear?keepifgender==0?savefemale,replace?將mydata拆分成男生數據集maleusemydata,clear?dropifgender==0?savemale,replace?將女生數據集female,dta和男生數據集male,dta合并為新的數據集mydatal原始數據同上。?參考操作*========begin=========/*?*將女生數據集female和男生數據集male合并為新數據mydatal―?.usemale,clear?.appendusingfemale?.savemydatal,replace?*======end=====/*篇二:用stata做多個文件的合并用Stata做多個文件的合并在我們寫論文處理數據時,通常會遇到我們需要的數據從國泰安中下載下來,會因為我們的數據超過excel的最大65536行的行數限制,而被分為兩個或兒個表,這時,我們需要對表進行縱向的合并,需要用到append命令;當我們需要從國泰安中下載的變量的數據在不同的板塊,也就造成數據會出現在不同的表中,這時,我們需要橫向合并各個表,當數據不能一一對應時,是不能通過復制粘貼將數據復制到一張表中,這時需要用merge命令。下面通過一些例子進行說明:1、縱向合并比如:我們從國泰安中公司研究系列一CSMAR中國上市公司財務報表數據庫一現金流量表中下載201X到201X年的現金流量表,下載下來發(fā)現數據因為太多分為了兩個表,這時,我們需要縱向合并這兩個表,先分別將兩個現金流量表讀入到Stata中存為.dta文件,再放到同一文件夾中,最后進行合并。如下:setmoreoffcdC:\Users\Administrator\Desktop\財務數據(國泰安)useC:\Users\Administrator\Desktop\財務數據(國泰安)\xjllb改.dta,clear^delimit;appendusingxjllb改];sortStkcdAccpersavexjllb合并,replace合并結果,如圖:數據超過了65536,數據合并成功。當需要合并的文件比較多時,特別是成千上百時,將文件名一一復制中程序中會比較麻煩,這時我們要用到logout,先將文件全放在一個文件夾中,再將文件名輸出到excel或word中,再將所有文件名復制到程序即可。例子如下:setmoreoffcdC:\Users\Administrator\Desktop\財務數據\201X~201Xlogout,replacesave(myfile)excelword:diruse201X.dta,clear點delimit;appendusing201X.dta201X.dta201X.dta201X.dta201X.dta201X.dta201X.dta201X.dta201X.dta201X.dta;save社保,replace;logout出的文件名如下:將文件名復制到程序中即可2、橫向合并比如:我們需要201X-201X年利潤表和資產負債表的數據,先從國泰安中下載201X-201X年利潤表和資產負債表的數據,數據也分別在兩個表中,先縱向合并,存為Irb合并.dta和zcfzb合并.dta,接下來做橫向合并,如下:use"C:\Users\Administrator\Desktop\財務數據(國泰安)\lrb合并.dta〃,clearuse"C:\Users\Administrator\Desktop\財務數據(國泰安)\zcfzb合并.dta〃,clearcd"C:\Users\Administrator\Desktop\財務數據(國泰安)〃mergem:nStkcdAccperusing〃C:\Users\Administrator\Desktop\財?務數據(國泰安)\lrb合并.dta〃drop_msortStkcdAccpersave合并數據,replace匹配結果,如下:篇三:stata回歸分析完整步驟-吐血推薦stata回歸分析完整步驟一一吐血推薦****下載連乘函數prod,方法為:finditdm71sortstkcddate〃對公司和日期排序genrl=l+r〃r為實際公司的股票收益率genr2=l+r_yq//r_yq為公司的預期股票收益率egenr3=prod(rl),by(stkcddate)〃求每個公司事件日的累計復合收益率egenr4=prod(r2),by(stkcddate)〃求每個公司事件日的累計預期的復合收益率genr=r4~r3captureclear(清空內存中的數據)capturelogclose(關閉所有打開的日志文件)setmem128m(設置用于stata使用的內存容量)setmoreoff(關閉more選項。如果打開該選項,那么結果分屏輸出,即一次只輸出一屏結果。你按空格鍵后再輸出下一屏,直到全部輸完。如果關閉則中間不停,一次全部輸出。)setmatsize4000(設置矩陣的最大階數。我用的是不是太大了?)cdD:(進入數據所在的盤符和文件夾。和dos的命令行很相似。)logusing(文件名).log,replace(打開日志文件,并更新。日志文件將記錄下所有文件運行后給出的結果,如果你修改了文件內容,replace選項可以將其更新為最近運行的結果。)use(文件名),clear(打開數據文件。)(文件內容)logclose(關閉日志文件。)exit,clear(退出并清空內存中的數據。)假設你清楚地知道所需的變量,現在要做的是檢查數據、生成必要的數據并形成數據庫供將來使用。檢查數據的重要命令包括codebook,su,ta,des和listo其中,codebook提供的信息最全面,缺點是不能使用if條件限制范圍,所以,有時還要用別的幫幫忙。su空格加變量名報告相應變量的非缺失的觀察個數,均值,標準差,最小值和最大值。ta空格后面加一個(或兩個)變量名是報告某個變量(或兩個變量二維)的取值(不含缺失值)的頻數,比率和按大小排列的累積比率。des后面可以加任意個變量名,只要數據中有。它報告變量的存儲的類型,顯示的格式和標簽。標簽中一般記錄這個變量的定義和單位。list報告變量的觀察值,可以用if或in來限制范圍。所有這些命令都可以后面不加任何變量名,報告的結果是正在使用的數據庫中的所有變量的相應信息。說起來蒼白無力,打開stata親自實驗一下吧。順帶說點兒題外話。除了codebook之外,上述統(tǒng)計類的命令都屬于r族命令(乂稱一般命令)。執(zhí)行后都可以使用returnlist報告儲存在r()中的統(tǒng)計結果。最典型的r族命令當屬summarizeo它會把樣本量、均值、標準差、方差、最小值、最大值、總和等統(tǒng)計信息儲存起來。你在執(zhí)行su之后,只需敲入returnlist就可以得到所有這些信息。其實,和一般命令的return命令類似,估計命令(乂稱e族命令)也有ereturn命令,具有報告,儲存信息的功能。在更復雜的編程中,比如對回歸分解,計算一些程序中無法直接計算的統(tǒng)計量,這些功能更是必不可少。檢查數據時,先用codebook看一下它的值域和單位。如果有-9,-99這樣的取值,查一下問卷中對缺失值的記錄方法。確定它們是缺失值后,改為用點記錄。命令是replace(變量名)二.if(變量名)二二-9。再看一下用點記錄的缺失值有多少,作為選用變量的一個依據。得到可用的數據后,我會給沒有標簽的變量加上注解?;蛘呓y(tǒng)一標簽;或者統(tǒng)一變量的命名規(guī)則。更改變量名的命令是ren(原變量名)空格(新變量名)。定義標簽的命令是labelvar(變量名)空格”(標簽內容)”。整齊劃一的變量名有助于記憶,簡明的標簽有助于明確變量的單位等信息。如果你需要使用通過原始變量派生出的新變量,那么就需要了解gen,egen和replace這三個命令。gen和replace常常在一起使用。它們的基本語法是gen(或replace)空格(變量名)=(表達式)。二者的不同之處在于gen是生成新變量,replace是重新定義舊變量。虛擬變量是我們常常需要用到的一類派生變量。如果你需要生成的虛擬變量個數不多,可以有兩種方法生成。一種是簡明方法:gen空格(變量名)=((限制條件))[這外面的小括弧是命令需要的,里面的小括弧不是命令需要的,只是說明“限制條件”并非命令]。如果某個觀察滿足限制條件,那么它的這個虛擬變量取值為1,否則為0。另一種要麻煩一點。就是gen(變量名)=1if(取值為一*限制條件)replace(相同的變量名)=0if(取值為零的限制條件)兩個方法貌似一樣,但有一個小小的區(qū)別。如果限制條件中使用的變量都沒有任何缺失值,那么兩種方法的結果一樣。如果有缺失值,第一種方法會把是缺失值的觀察的虛擬變量都定義為0。而第二種方法可以將虛擬變量的取值分為三種,一是等于1,二是等于0,三是等于缺失值。這樣就避免了把本來信息不明的觀察錯誤地納入到回歸中去。下次再講如何方便地生成成百上千個虛擬變量。大量的虛擬變量往往是根據某個己知變量的取值生成的。比如,在某個回歸中希望控制每個觀察所在的社區(qū),即希望控制標記社區(qū)的虛擬變量。社區(qū)數目可能有成百上千個,如果用上次的所說的方法生成就需要重復成百上千次,這也太笨了。大量生成虛擬變量的命令如下;ta(變量名),gen((變量名))第一個括號里的變量名是己知的變量,在上面的例子中是社區(qū)編碼。后一個括號里的變量名是新生成的虛擬變量的共同前綴,后面跟數字表示不同的虛擬變量。如果我在這里填入d,那么,上述命令就會新生成dl,d2,等等,直到所有社區(qū)都有一個虛擬變量。在回歸中控制社區(qū)變量,只需簡單地放入這些變量即可。一個麻煩是虛擬變量太多,怎么簡單地加入呢?一個辦法是用省略符號,d*表示所有d字母開頭的變量,另一法是用破折號,dl-dl50表示第一個到第150個社區(qū)虛擬變量(假設共有150個社區(qū))。還有一種方法可以在回歸中直接控制虛擬變量,而無需真的去生成這些虛擬變量。使用命令areg可以做到,它的語法是areg(被解釋變量)(解釋變量),absorb(變量名)absorb選項后面的變量名和前面講的命令中第一個變量名相同。在上面的例子中即為社區(qū)編碼?;貧w的結果和在reg中直接加入相應的虛擬變量相同。生成變量的最后一招是egen。egen和gen都用于生成新變量,但egen的特點是它更強大的函數功能。gen可以支持一些函數,egen支持額外的函數。如果用gen搞不定,就得用egen想辦法了。不過我比較懶,到現在為止只用用取平均、加和這些簡單的函數。有的時候數據情況復雜一些,往往生成所需變量不是非常直接,就需要多兒個過程。曾經碰到原始數據中記錄日期有些怪異的格式。比如,1991年10月23日被記錄為19911023。我想使用它年份和月份,并生成虛擬變量。下面是我的做法:genyr=int(date)genmo=int((data-yr*10000)/100)tayr,gen(yd)tamo,gen(md)假設你己經生成了所有需要的變量,現在最重要的就是保存好你的工作。使用的命令是save空格(文件名),replaceo和前面介紹的一樣,replace選項將更新你對數據庫的修改,所以一定要小心使用。最好另存一個新的數據庫,如果把原始庫改了乂變不回去,就叫天不應叫地不靈了。前面說的都是對單個數據庫的簡單操作,但有時我們需要改變數據的結構,或者抽取來自不同數據庫的信息,因此需要更方便的命令。這一類命令中我用過的有:改變數據的縱橫結構的命令reshape,生成退化的數據庫collapse,合并數據庫的命令append和merge??v列(longitudinal)數據通常包括同一個行為者(agent)在不同時期的觀察,所以處理這類數據常常需要把數據庫從寬表變成長表,或者相反。所謂寬表是以每個行為者為一個觀察,不同時期的變量都記錄在這個觀察下,例如,行為者是廠商,時期有201X、201X年,變量是雇傭人數和所在城市,假設雇傭人數在不同時期不同,所在城市則不變。寬表記錄的格式是每個廠商是一個觀察,沒有時期變量,雇傭人數有兩個變量,分別記錄201X年和201X年的人數,所在城市只有一個變量。所謂長表是行為者和時期共同定義觀察,在上面的例子中,每個廠商有兩個觀察,有時期變量,雇傭人數和所在城市都只有一個,它們和時期變量共同定義相應時期的變量取值。在上面的例子下,把寬表變成長表的命令格式如下:reshapelong(雇傭人數的變量名),i((標記廠商的變量名))j((標記時期的變量名))因為所在城市不隨時期變化,所以在轉換格式時不用放在reshapelong后面,轉換前后也不改變什么。相反地,如果把長表變成寬表則使用如下命令reshapewide(雇傭人數的變量名),i((標記廠商的變量名))j((標記時期的變量名))唯一的區(qū)別是long換成了wideocollapse的用處是計算某個數據庫的一些統(tǒng)計量,再把它存為只含有這些統(tǒng)計量的數據庫。用到這個命令的機會不多,我使用它是因為它可以計算中位數和從1到99的百分位數,這些統(tǒng)計量在常規(guī)的數據描述命令中沒有。如果要計算中位數,其命令的語法如下collapse(median)((變量名)),by((變量名))生成的新數據庫中記錄了第一個括號中的變量(可以是多個變量)的中位數。右面的by選項是根據某個變量分組計算中位數,沒有這個選項則計算全部樣本的中位數。合并數據庫有兩種方式,一種是增加觀察,另一種是增加變量。第一種用append,用在兩個數據庫的格式一樣,但觀察不一樣,只需用append空格using空格(文件名)就可以狗尾續(xù)貂了。簡單明了,不會有什么錯。另一種就不同了,需要格外小心。如果兩個數據庫中包含共同的觀察,但是變量不同,希望從一個數據庫中提取一些變量到另一個數據庫中用mergeo完整的命令如下:(文件名)[打開輔助數據庫]sort(變量名)[根據變量排序,這個變量是兩個數據庫共有的識別信息]save(文件名),replace[保存輔助數據庫]use(文件名)[打開主數據庫]sort(變量名)[對相同的變量排序]merge(變量名)using(文件名),keep((變量名))[第一個變量名即為前面sort后面的變量名,文件名是輔助數據庫的名字,后面的變量名是希望提取的變量名]ta_merge[顯示_merge的取值情況。.merge等于1的觀察是僅主庫有的,等于2的是僅輔助犀有的,等于3是兩個庫都有的。]dropif_merge==2[刪除僅僅來自輔助庫的觀察]dropmerge[刪除_merge]save(文件名),replace[將合并后的文件保存,通常另存]講到這里似乎對于數據的生成和處理應該閉嘴了。大家可能更想聽聽估計、檢驗這些事情。但我并不想就此止住,因為實際中總是有一些簡單套用命令無法輕易辦到的特殊要求。此時至少有兩條路可以通向羅馬:一是找到更高級的命令一步到位;二是利用己知簡單命令多繞兒個圈子達到目的。下面講一個令我刻骨銘心的經歷,這也是迄今我所碰到的生成新數據中最繁復的了。原始數據中包含了可以識別屬于同一個家庭中所有個人的信息和家庭成員與戶主關系的信息。目的是利用這些信息建立親子關系。初步的構想是新數據庫以子輩為觀察,找到他們的父母,把父母的變量添加到每個觀察上。我的做法如下:al,clear[打開全部樣本數據庫]keepifgender==2&agemos>=96&a8^=l&line<10[保留己婚的一定年齡的女性]replacea5=lifa5==0篇四:STATA課件數據的初始化一、.xls文件在STATA中的應用的注意事項:(1)將hebufen.xls文件只能復制到軟件中去,在復制的時候將第一行設置為變量行;(2)變量行中不能有中文否則就不能變成變量行。二、文件的導入、保存和導出、使用(一)文件的導入與保存建議:將文件導入軟件后保存為軟件能識別的格式,默認的格式是dta,建議用.dta將hebufen.xls文件復制到軟件中去,在復制的時候將第一行設置為變量行后保存為軟件能識別的格式以后保存為he。*程序如下:(1)將文件放入默認的文件夾中savehe*(2)將文件保存在指定位置save"C:\DocunientsandSettings\Administrator\桌面\sas和stata課件\stata課件'control"2、使用stata2、使用stata格式的數據必須是stata格式的,也就是stata保存下來的文件usehe,clear*或use〃C:'DocumentsandSettings\Administrator\桌面\sas和stata課件\stata課件\control”,clear*3、己有數據的查看一一對漢字識別不行use〃C:'DocumentsandSettings\Administrator\桌面\sas和stata課件\stata課件'control”,clearlistxuhao-indcdin1/78ifindcd==3數據管理一、stata的通用命令結構outsheetusing"C:\DocumentsandSettings\Administrator\^jll\sasftstata課件\stata課件\yu.xls1>[prefix:1command【變量】【=exp】[ifexp][usef1iename/using][inrang]【,options]2、stata變量原則:(1)字母的組成由A-Z;a-z;0-9;下劃線這些之外的其他符號不可以出現在變量中;(2)變量不能用數字作為開始;(3)區(qū)分大小寫。3、stata中變量的更名與排序(1)stata中變量的更名的命令是rename/*如*/use〃C:'DocumentsandSettings'Administrator、桌面\sas和stata課件\stata課件\control”,clearrenamenindcdnisave,replace*(2)變量名的排序命令為order*如ordernixhusoaktdc*4、stata中數據排序*(1)向上排序命令為sort*如use〃C:'DocumentsandSettings'Administrator、桌面\sas和stata課件\stata課件\control”,clearsortxuhao*(2)向下排序命令為gsort*如use〃C:'DocumentsandSettings'Administrator、桌面\sas和stata課件\stata課件\control”,cleargsort-xuhao*(3)混合排序程序如下use〃C:'DocumentsandSettings'Administrator、桌面\sas和stata課件\stata課件\control”,cleargsort-indcd+stkcd*.二、stata的表達式(1)算術符號程序如下:加號+減號一乘號*除號/乘方/\開根號如555A(1/5)(2)關系符號*“=”等于“?二”或“!二”不等于小于">”大于“V”小于等于“>=”大于等于*(2)邏輯符號與“I”或者“?”否定*四、stata中生成新變量與變量賦值(虛擬變量的設置可以綜合使用這凡種命令)(1)生成新變量與變量賦值可以有三個命令:generate(縮寫gen)和replace、recode,其中replace、*recode是修改現有變量的取值或賦值但不生成新的變量。程序如下:*程序如下use〃C:'DocumentsandSettings'Administrator、桌面\sas和stata課件\stata課件\control”,cleargensx=stkcd/xuhaogenx=log(xuhao)geny=ln(xuhao)replacesx=0ifsx==.(2)recode命令可以重新定義變量的取值,如將一組不同的數字設置為相同的數字use〃C:'DocumentsandSettings'Administrator、桌面\sas和stata課件\stata課件\control”,clearrecodeindcdmin/3=l4/5=26/max=3*(3)使用egen*egen也是生成新變量,但是它和gen有一定的區(qū)別,egen既能針對所有觀察個案,也可以針對單一觀察*個案中的多個變量*下面就舉例來說明下:use〃C:'DocumentsandSettings'Administrator、桌面\sas和stata課件\stata課件\control”,cleargeninsum=sum(indcd)egensum=sum(indcd)sortindcdbyindcd:egenstkcdmean=mean(stkcd)*五、數據的選擇*(一)保留或是刪除觀察個案use〃C:'DocumentsandSettings'Administrator、桌面\sas和stata課件\stata課件\control”,clearkeepifstkcd==.use〃C:'DocumentsandSettings'Administrator、桌面\sas和stata課件\stata課件\control”,cleardropifstkcd=?use〃C:'DocumentsandSettings'Administrator、桌面\sas和stata課件\stata課件\control”,clearkeepin21/35*(二)保留或是刪除變量一一keep或drop語句use〃C:'DocumentsandSettings'Administrator、桌面\sas和stata課件\stata課件\control”,clearkeepxuhaostkcdcrcdv2outsheetusing"C:\DocumentsandSettings\Administrator\桌面\sas和stata課件\stata課件\statal.xls〃save"C:\DocumentsandSettings\Administrator\桌面\sas和stata課件\stata課件\statal〃*六、數據合并一一將jionby.xls復制到軟件后保存為jionby.dta(一)、縱向合并*命令程序如下:(1)use〃C:'DocumentsandSettings'Administrator、桌面\sas和stata課件\stata課件\control”,clearappendusing"C:\DocumentsandSettings\Administrator\^j1n\sas^0stata課件\stata課件\statal〃(二)、橫向合并一一進行合并前對合并變量進行排序、如果有覆蓋情況,默認的是前一個數據*命令程序如下:merge將jionby.xls復制到軟件后保存為jionby.dtaKfilename?』*如果想將前面的數據替換,則命令程序如下:merge[var]usingfilenameUfilename?2,updatereplace*Merge舉例:將m
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026重慶市萬州區(qū)燕山鄉(xiāng)人民政府招聘全日制公益性崗位1人備考考試試題附答案解析
- 生產企業(yè)黑名單制度
- 2026年河北承德市教育局公開選聘急需緊缺學科教師39名參考考試題庫附答案解析
- 戒毒所生產車間制度
- 2026第一季度四川成都市青白江區(qū)第三人民醫(yī)院自主招聘醫(yī)師、護士3人備考考試題庫附答案解析
- 2026年西安市城南中學招聘參考考試題庫附答案解析
- 2026云南保山市騰沖出入境邊防檢查站執(zhí)勤隊口岸協(xié)管(檢)員招聘1人參考考試題庫附答案解析
- 2026時代北汽(北京)新能源科技有限公司 (正式工)招聘參考考試題庫附答案解析
- 2025年廣東省輔警(協(xié)警)招聘考試題庫及答案
- 行政文秘筆試題庫及答案
- 中國醫(yī)護服裝行業(yè)未來發(fā)展趨勢分析及投資規(guī)劃建議研究報告
- 《廣州天河商圈》課件
- H31341 V2.5 HCIP-TranSmission 傳輸網練習試題及答案
- 下肢靜脈曲張課件
- (高清版)DZT 0428-2023 固體礦產勘查設計規(guī)范
- XXX縣村鎮(zhèn)空氣源熱泵區(qū)域集中供熱項目可行性研究報告
- 湖州昆侖億恩科電池材料有限公司年產40000噸鋰離子電池電解液項目環(huán)境影響報告
- 幼兒園班級體弱兒管理總結
- 肥胖患者圍術期麻醉管理
- 核酸印跡與分子雜交
- 金屬罐三片罐結構分析
評論
0/150
提交評論