stata中变量的生成与处理..课件

上传人:尘*** 文档编号:242949598 上传时间:2024-09-12 格式:PPT 页数:29 大小:153KB
返回 下载 相关 举报
stata中变量的生成与处理..课件_第1页
第1页 / 共29页
stata中变量的生成与处理..课件_第2页
第2页 / 共29页
stata中变量的生成与处理..课件_第3页
第3页 / 共29页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第四章,变量的生成与处理,导论,Stata,对数据的处理是以变量为前提的,若没有需要分析的变量,则,Stata,将一无用处,熟悉变量的内容和分布、生成新变量、改变旧变量等是处理数据的第一步,4.1.,新变量的生成、规则及注意事项,Stata,的变量类型,Stata,软件生成三类变量:,numeric,(数值型)变量,,string,(字符型)变量(相当于定性变量)和,date,(日期)变量。虽然日期变量以数值型变量的技术记录、存储,但二者的用途却不同,数值型变量包括定距和定比变量。可以是整数、小数、负数和正数。数值型变量可以有多种存储方式(,Storage Types,),用,str,类型保存的定性等分类变量也可区分为多种形式,从,str1-str244,Stata,的日期变量,日期(,date,)变量是数值型变量的一个特例。它们通常以字符的形式输入,(,如,: 01JAN1992 or 01/01/92),,但必须以数值型数据存储才能有用,Stata,有几个命令可以工作于日期和时间依赖(,time-dependent,)数据,Stata,将所有的日期保存为从,1960,年,1,月,1,日以来的天数或月份、季节等。此前的日期是负值,此后的是正值。,SAS,使用同样的日期方式,但其起始时间是,1582,年的,10,月,14,日。,Excel,使用,1900,年,1,月,1,日为默认起始日。如果读入,Excel,数据,则以字符型变量输入日期,并重新格式日期,生成变量的路径,Data Create or change variables,生成变量的窗口,Data Create or change variables Create new variable,基本命令,Stata,有四个基本的生成和修改变量的命令:,gen,、,egen,、,replace,和,recode,. gen,和,egen,分别是,generate,和,extended generate,的缩写,它们用于生成新变量,. replace,和,recode,用来改变现存变量的属性或数值,. replace,需要与,gen,一起使用;二者的区别在于,,gen,用于生成新变量,,replace,用于重新定义已经存在的变量,. recode,也可以与,gen,一起使用,基本语法,.,gen,变量名,=,表达式,1, ,. replace,变量名,=,表达式,2,if,条件, ,:生成新变量或替代现存变量取值的基本命令,:新变量或其取值将被替换的变量的名称,:在,gen,命令的取值不同于在,replace,命令的取值,:替换原有变量的取值必须满足,if,指定的条件,*yr of schooling recoded,(这是一个注释;*代表注释),gen,edu=0,replace,edu=1,if,yrsch,=,11,replace edu=2 if yrsch=12,replace edu=3 if yrsch=13,replace edu=4 if yrsch=14,replace edu=5 if yrsch=15,replace edu=6 if yrsch=16,replace edu=7 if yrsch=21,replace edu=8 if yrsch=22,replace edu=9 if yrsch=23,replace edu=10 if yrsch=24,|,yrsch=27,replace edu=11 if yrsch=25 | yrsch=28,replace edu=12 if yrsch=26 | yrsch=29,replace edu=13 if yrsch=31,replace edu=14 if yrsch=32,replace edu=15 if yrsch=33,replace edu=16 if yrsch=34,replace edu=17 if yrsch=35,replace edu=18 if yrsch=36,replace edu=. if yrsch=. | yrsch=-9,tab1,yrsch edu,*,查看变量的生成是否成功,变量生成的规则(,I,),生成新变量、重新定义旧变量时需遵循的一些基本规则:,变量的名称可长达,32,个字符,必须以字母、汉字或字符(,,,_,,,#,,,$,等)开头(不能使用空白字符或,!,、,?,等特殊字符)。变量最后一个字符不能是句号,变量的名称必须唯一,不能有两个相同的变量名,Stata,区分大小写,对大写、小写敏感:,V,ariable,不能写成,v,ariable,,反之亦然,使用描述性的变量名字:“变量,a”,这个名称没有任何意义。调查问题是变量名称的很好选择,变量生成的注意事项,尽量避免使用同一变量名称。换言之,不要使用新变量取代旧变量。保持原始变量有助于检验我们的命令是否正确,充分了解原始变量的分布以及每个数值代表的含义,遵循不重不漏(,exhaustive and mutually exclusive,)原则(详见“生成分组变量”一节),在变量生成后,将原始变量和新变量的取值进行对比,检查是否有误,注意原始变量的缺失值,4.2,利用系统变量或下划线变量(,_n,和,_N,)生成新变量,Stata,有几个下划线变量(,_variables,,读为“,underscore variables”,),因包含下划线而得名。这类变量并不出现在,Stata,的,Variables,(变量)窗口中,故又称系统变量。其中,经常使用的有,_n,和,_N,。系统变量,_n,和,_N,对于数据的管理和处理十分有用,尤其是与特殊选项,by,同时使用时,系统变量,_n,_n,是指,当前,的观察值,即独一无二的观测序号,从,1,到,_N(_N=,总样本),_n,是,Stata,系统内部独特的辨识器,标志从第一个观察值开始直到最后一个观察值(,_N,)的序列,_n=1,为第一个观测,,_n=2,为第二个观测,,,,_n=_N,是最后一个观测,该系统变量适于(,1,)指示观察值;(,2,)生成系列数值;(,3,)生成其他变量,使用系统变量,_n,指示观察值,系统变量,_n,表示每个观察值的位置(,numbering observations,)。其原则是:,当前观察值:,_n,总观察值(最后一个观察值,_n,):,_N,第一个观察值:,1,最后一个观察值:,_N,滞后一个,(lag),观察值:,_n-1,前移一个,(lead),观察值:,_n+1,第,27,个观察值:,27,假如现有以下数据:,+-+,| province personid homesize age girl siblings |,(省份) (个人,ID,)(家庭规模,),(年龄)(女孩)(姊妹数量),|-|,1. | 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 3704057503 80 20 boy 3 |,+-+,现在想看看每个孩子在省内的排序,使用系统变量,_n,生成新变量,步骤,1,:对,province,(即“关键变量”)进行排序,. sort,province,步骤,2,:生成感兴趣的变量,.,by,province:,gen,order,=,_n, ,:按,province,的分类进行排序和计算,:生成新变量的基本命令,:新变量的名称,:新变量的取值等于同一,province,内观察值的序次,步骤,3,:使用频数分布查看生成的结果是否正确,. tab,order,使用系统变量,_N,生成新变量,系统变量,_N,代表样本总数。最后一个样本,_n,即是,_N,使用前面的数据,看看每个省共有几个孩子在样本中,步骤,1,:对,province,进行排序,步骤,2,:生成感兴趣的变量。其命令是:,. by province: gen ceb=,_N,步骤,3,:查看结果正确与否,. tab,ceb,生成滞后(,lag,)变量或移前变量(,lead,),在分析某些类型数据(包括常用的家庭成员数据和纵向数据)的过程中,常常需要根据研究问题将一个样本的取值转移到上一个(或下一个)观察值中。,. gen,a,=,b,_n-1,. gen,a,=,b,_n+1, ,:需要生成的新变量的名称,:现有变量的名称,:将现有变量的取值下移一行(,_n-1,)或前移一行(,_n+1,)的基本命令,. gen a = age_n-1,(1 missing 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. | 35 3501117305 25 13 girl 2 2 18 9 |,10. | 45 4526057606 90 10 girl 3 2 6,.,|,+-+,4.3,生成数值型变量,使用,recode, , gen,命令生成新变量,.,recode,原变量,(,原变量取值,=,新变量取值,), ,*,= ,其他取值,gen,新变量, ,:给变量重新赋值的命令,:现有变量的名称,:现有变量的取值,:新变量的取值;和是一个整体,:*符号表示所有其他没有列出的数值,包括缺失值;,recode,与,gen,之间有逗号(,)隔开,:生成新变量的命令,:新变量的名称,以本章数据中的,变量“,yrsch”,为例。前面使用,genreplace,的方法在“,yrsch”,的基础上生成变量“,edu”,;现在使用另一种简便的方法生成“,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,)部分,则仅取代原有变量的取值,使用数学表达式生成新变量,任何有效的数学表达式在生成变量时都适用。既可以是加、减、乘、除的单独表达式,也可以是混合表达式:,. gen,a = b + c + d,加法:将变量,b,,,c,,,d,的数值累加起来,生成新变量,a,. gen,a = b - c,减法:将变量,b,的数值减去变量,c,的数值,得到变量,a,. gen,a2 = a,*,a,乘法:该命令生成新变量,a2,;,a*a,是,a x a,的表达方式,. gen,double a = b/c,除法:用变量,b,的数值 除以变量,c,的数值,得到新变量,a,。该变量定义为,double,类型,. gen,a = b/(c,2),新变量,a,的取值等于变量,b,的取值除以变量,c,取值的平方,4.4,生成分类变量,*age group,. gen agegrp,=0,. replace,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 =edu,6,方法,2,. gen,变量名,1,if,取值为,1,的限制条件,. replace,(,变量名,0,if,取值为,0,的限制条件,比如:,. gen xiaoxue = 1 if edu=7,若,edu,大于或等于,7,,则,xiaoxue,等于,0,. replace xiaoxue = . if edu = .,若,edu,等于,.,,则,xiaoxue,等于,.,(缺失),方法,3,虚拟变量往往是根据某(几)个已知变量的取值生成的,. tab,已知变量名, gen,新变量名,基于某个已知变量,生成一组虚拟变量,虚拟变量的数目因已知变量的分类而异,若现存变量有两个取值,则生成两个虚拟变量,若现存变量有三个取值,则生成三个虚拟变量,若现存变量有,n,个取值,则生成,n,个虚拟变量,新生成的虚拟变量有相同的前缀,也就是,新变量名,,但尾缀相异,由已知变量名的取值决定,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!