stata中變量的生成與處理_第1頁
stata中變量的生成與處理_第2頁
stata中變量的生成與處理_第3頁
stata中變量的生成與處理_第4頁
stata中變量的生成與處理_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第四章變量的生成與處理變量的生成與處理導論 stata 對數(shù)據的處理是以變量為前提的 若沒有需要分析的變量,則stata將一無用處 熟悉變量的內容和分布、生成新變量、改變舊變量等是處理數(shù)據的第一步4.1. 新變量的生成、規(guī)則及注意事項stata的變量類型 stata軟件生成三類變量:numeric(數(shù)值型)變量,string(字符型)變量(相當于定性變量)和date(日期)變量。雖然日期變量以數(shù)值型變量的技術記錄、存儲,但二者的用途卻不同 數(shù)值型變量包括定距和定比變量??梢允钦麛?shù)、小數(shù)、負數(shù)和正數(shù)。數(shù)值型變量可以有多種存儲方式( storage types) 用str類型保存的定性等分類變量也

2、可區(qū)分為多種形式,從str1-str244stata的日期變量 日期(date)變量是數(shù)值型變量的一個特例。它們通常以字符的形式輸入(如: 01jan1992 or 01/01/92),但必須以數(shù)值型數(shù)據存儲才能有用 stata有幾個命令可以工作于日期和時間依賴(time-dependent)數(shù)據 stata將所有的日期保存為從1960年1月1日以來的天數(shù)或月份、季節(jié)等。此前的日期是負值,此后的是正值。sas使用同樣的日期方式,但其起始時間是1582年的10月14日。excel使用1900年1月1日為默認起始日。如果讀入excel數(shù)據,則以字符型變量輸入日期,并重新格式日期生成變量的路徑dat

3、a create or change variables生成變量的窗口data create or change variables create new variable基本命令stata有四個基本的生成和修改變量的命令:gen、egen、replace和recode . gen和egen分別是generate和extended generate的縮寫,它們用于生成新變量 . replace和recode用來改變現(xiàn)存變量的屬性或數(shù)值 . replace需要與gen一起使用;二者的區(qū)別在于,gen用于生成新變量,replace用于重新定義已經存在的變量 . recode也可以與gen一起使用基

4、本語法 . gen 變量名 = 表達式1 . replace 變量名 = 表達式2 if 條件 :生成新變量或替代現(xiàn)存變量取值的基本命令:新變量或其取值將被替換的變量的名稱:在gen命令的取值不同于在replace命令的取值:替換原有變量的取值必須滿足if指定的條件*yr of schooling recoded(這是一(這是一個注釋;個注釋;*代表注釋)代表注釋)gen edu=0replace edu=1 if yrsch=11replace edu=2 if yrsch=12replace edu=3 if yrsch=13replace edu=4 if yrsch=14replace

5、 edu=5 if yrsch=15replace edu=6 if yrsch=16replace edu=7 if yrsch=21replace edu=8 if yrsch=22replace edu=9 if yrsch=23replace edu=10 if yrsch=24 | yrsch=27replace edu=11 if yrsch=25 | yrsch=28replace edu=12 if yrsch=26 | yrsch=29replace edu=13 if yrsch=31replace edu=14 if yrsch=32replace edu=15 if y

6、rsch=33replace edu=16 if yrsch=34replace edu=17 if yrsch=35replace edu=18 if yrsch=36replace edu=. if yrsch=. | yrsch=-9tab1 yrsch edu*查看變量的生成是否成功查看變量的生成是否成功變量生成的規(guī)則(i) 生成新變量、重新定義舊變量時需遵循的一些基本規(guī)則: 變量的名稱可長達32個字符,必須以字母、漢字或字符(,_,#,$等)開頭(不能使用空白字符或!、?等特殊字符)。變量最后一個字符不能是句號 變量的名稱必須唯一,不能有兩個相同的變量名 stata區(qū)分大小寫,對大寫

7、、小寫敏感:variable 不能寫成 variable,反之亦然 使用描述性的變量名字:使用描述性的變量名字:“變量變量a”這個名稱沒有任何意義。這個名稱沒有任何意義。調查問題是變量名稱的很好選擇調查問題是變量名稱的很好選擇變量生成的注意事項 盡量避免使用同一變量名稱。換言之,不要使用新變量取代舊變量。保持原始變量有助于檢驗我們的命令是否正確充分了解原始變量的分布以及每個數(shù)值代表的含義遵循不重不漏(exhaustive and mutually exclusive)原則(詳見“生成分組變量”一節(jié))在變量生成后,將原始變量和新變量的取值進行對比,檢查是否有誤注意原始變量的缺失值4.2利用系統(tǒng)變

8、量或下劃線變量(_n和_n)生成新變量 stata有幾個下劃線變量(_variables,讀為“underscore variables”),因包含下劃線而得名。這類變量并不出現(xiàn)在stata的variables(變量)窗口中,故又稱系統(tǒng)變量。其中,經常使用的有_n 和_n。系統(tǒng)變量_n 和_n對于數(shù)據的管理和處理十分有用,尤其是與特殊選項by同時使用時系統(tǒng)變量 _n _n 是指當前當前的觀察值,即獨一無二的觀測序號,從1到_n(_n=總樣本) _n是stata系統(tǒng)內部獨特的辨識器,標志從第一個觀察值開始直到最后一個觀察值(_n)的序列 _n=1為第一個觀測,_n=2為第二個觀測,_n=_n是最

9、后一個觀測 該系統(tǒng)變量適于(1)指示觀察值;(2)生成系列數(shù)值;(3)生成其他變量使用系統(tǒng)變量_n指示觀察值 系統(tǒng)變量_n表示每個觀察值的位置(numbering observations)。其原則是:當前觀察值:_n 總觀察值(最后一個觀察值_n):_n第一個觀察值:1 最后一個觀察值:_n 滯后一個(lag)觀察值:_n-1 前移一個(lead)觀察值:_n+1 第27個觀察值:27 假如現(xiàn)有以下數(shù)據: +-+ | province personid homesize age girl siblings | (省份) (個人id)(家庭規(guī)模)(年齡)(女孩)(姊妹數(shù)量) |-| 1. |

10、21 2106018504 50 5 girl 1 | 2. | 35 3505154103 100 18 boy 0 | 3. | 32 3205093703 246 8 boy 0 | 4. | 37 3708156203 60 9 boy 0 | 5. | 45 4452082404 20 6 girl 3 | 6. | 35 3501117305 25 13 girl 2 | 7. | 45 4526057606 90 10 girl 3 | 8. | 32 3209163903 25 2 boy 0 | 9. | 37 3702093304 68 7 boy 1 | 10. | 37

11、 3704057503 80 20 boy 3 | +-+ 現(xiàn)在想看看每個孩子在省內的排序使用系統(tǒng)變量_n生成新變量 步驟步驟1:對province(即“關鍵變量”)進行排序. sort province 步驟步驟2:生成感興趣的變量 . by province: gen order =_n :按province的分類進行排序和計算:生成新變量的基本命令:新變量的名稱:新變量的取值等于同一province內觀察值的序次 步驟步驟3:使用頻數(shù)分布查看生成的結果是否正確 . tab order使用系統(tǒng)變量_n生成新變量 系統(tǒng)變量_n代表樣本總數(shù)。最后一個樣本_n即是_n 使用前面的數(shù)據,看看每個省

12、共有幾個孩子在樣本中 步驟步驟1:對province進行排序 步驟步驟2:生成感興趣的變量。其命令是:. by province: gen ceb=_n 步驟步驟3:查看結果正確與否. tab ceb生成滯后(lag)變量或移前變量(lead) 在分析某些類型數(shù)據(包括常用的家庭成員數(shù)據和縱向數(shù)據)的過程中,常常需要根據研究問題將一個樣本的取值轉移到上一個(或下一個)觀察值中。 . gen a = b_n-1. gen a = b_n+1 :需要生成的新變量的名稱:現(xiàn)有變量的名稱:將現(xiàn)有變量的取值下移一行(_n-1)或前移一行(_n+1)的基本命令. gen a = age_n-1(1 mis

13、sing value generated). gen b = age_n+1(1 missing value generated). list +-+ | province personid homesize age girl siblings order a b | |-| 1. | 21 2106018504 50 5 girl 1 1 . . 2 | 2. | 32 3209163903 25 2 boy 0 1 5 8 | 3. | 32 3205093703 246 8 boy 0 2 2 18 | 4. | 35 3505154103 100 18 boy 0 1 8 13 | 5

14、. | 35 3501117305 25 13 girl 2 2 18 9 | 10. | 45 4526057606 90 10 girl 3 2 6 . . | +-+4.3生成數(shù)值型變量使用recode, , gen命令生成新變量. recode 原變量 (原變量取值 = 新變量取值) *= 其他取值, gen 新變量 :給變量重新賦值的命令:現(xiàn)有變量的名稱:現(xiàn)有變量的取值 :新變量的取值;和是一個整體:*符號表示所有其他沒有列出的數(shù)值,包括缺失值;recode與gen之間有逗號(,)隔開:生成新變量的命令:新變量的名稱 以本章數(shù)據中的變量變量“yrsch”為例。前面使用genrepla

15、ce的方法在“yrsch” 的基礎上生成變量“edu”;現(xiàn)在使用另一種簡便的方法生成“edu”由于變量edu已經存在,首先需要刪除該變量:. drop edu. recode yrsch 0=0 11=1 12=2 13=3 14=4 15=5 16=6 21=7 22=8 23=9 24 27=10 25 28=11 26 29=12 31=13 32=14 *=.,gen (edu)該命令在原變量yrsch的基礎上生成一個新變量(edu)新變量對原變量的取值重新編碼。原變量照舊保存著若無gen(edu)部分,則僅取代原有變量的取值使用數(shù)學表達式生成新變量 任何有效的數(shù)學表達式在生成變量時都

16、適用。既可以是加、減、乘、除的單獨表達式,也可以是混合表達式:. gen a = b + c + d 加法:將變量b,c,d的數(shù)值累加起來,生成新變量a. gen a = b - c 減法:將變量b的數(shù)值減去變量c的數(shù)值,得到變量a. gen a2 = a*a 乘法:該命令生成新變量a2;a*a是a x a的表達方式. gen double a = b/c 除法:用變量b的數(shù)值 除以變量c的數(shù)值,得到新變量a。該變量定義為double類型. gen a = b/(c2) 新變量a的取值等于變量b的取值除以變量c取值的平方4.4生成分類變量*age group. gen agegrp=0. re

17、place agegrp=1 if age=0 & age=5 & age=10 & age=15 . replace agegrp=. if age = . egen agegrp = cut(age), at(0,5,10, 15,20)4.5生成虛擬變量(dummy, dichotomous variable)方法1. gen 新變量名 = b 限制條件 :生成新變量的基本命令:新變量名:舊變量名 :當b滿足某種條件時,生成新變量 比如:. gen xiaoxue = edu7 或. gen xiaoxue =edu=6 或. gen byte xiaoxue = edu7 或. gen byte xiaoxue =edu6方法2 . gen 變量名 1 if取值為1的限制條件. replace(變量名0 if取值為0的限制條件 比如:. gen xiaoxue = 1 if

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論