




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章变量的生成与处理 导论 stata对数据的处理是以变量为前提的若没有需要分析的变量 则stata将一无用处熟悉变量的内容和分布 生成新变量 改变旧变量等是处理数据的第一步 本章主要内容 4 1 变量的测量水平 measurements 4 2 新变量的生成 规则及注意事项4 3 利用系统变量或下划线变量生成新变量4 4 生成字符型变量4 5 生成数值型变量4 6 生成分类变量4 7 生成虚拟变量 4 8 egen命令 extendedgenerate 4 9 日期变量 datevariables 4 10 变量类型的更换4 11 给数据 变量和变量的属性贴标签 labeldata labelvariable labeldefine 4 12 重新命名变量4 13 变量的格式4 14 生成随机数 4 1 变量的测量水平 measurements 离散和连续测量离散方式 discretemeasure 由定性测量和定序测量组成 适用于低层次数据连续方式 continuousmeasure 由定距测量和定比测量组成 适用于高 低层次数据在这四种测量中 层次从高到低的排序依次是 定性 定序 定距和定比 定性和定序测量 定性测量 nominalmeasure 变量的属性具有完备性和排他性特征 是表达概念特征的名称或标签 描述属性之间的差异 有别于定序 定距和定比测量性别 政治党派 民族 宗教流派 出生地 等等定序测量 ordinalmeasure 描述变量属性的相对程度或排行序列 但数值之间的差别既无法确定 也无意义 社会经济地位的高 中 低教育程度的文盲 小学 初中 高中和大学非常同意 同意 一般 不同意 非常不同意 定距和定比测量 定距测量 intervalmeasure 变量的属性可以按顺序排列 相邻属性之间的距离是相等且有实际意义的华氏温度计 30度和40度之间的距离等于50度和60度之间的距离 0 没有意义 华氏的60度并不是30度的一倍 零度并不意味着没有温度 零下30度也不等于比没有热度低30度 摄氏温度计的原理也是如此定比测量 ratiomeasure 连续测量 数值之间的距离是连续的 等距离的可描述前面三种测量提到过的属性以真实的 0 为基础 0 有意义 如 0 岁表示孩子刚出生 0 收入表示没有任何收入 与定距测量的主要区别在于 0 的意义的有无 区分变量测量水平的意义 统计程序的需要 每一种统计程序都基于一定的假设和条件有些统计程序 如 或众数 适用于所有类型数据 其他统计程序 如 均值 标准偏差 相关关系 仅适用于定距或定比数据某些统计程序稳健 即便一些基本的假定被违反 分析结果也不受影响 另一些统计程序的假定一旦被违反 其结果就变得无意义对定性数据 计算均值毫无意义模型选择的需要 数据形式和变量的测量直接影响到模型的选择一般情况下 最好是收集高层次的数据 高层次数据可转换为低层次数据 4 2 新变量的生成 规则及注意事项 stata的变量类型 stata软件生成三类变量 numeric 数值型 变量 string 字符型 变量 相当于定性变量 和date 日期 变量 虽然日期变量以数值型变量的技术记录 存储 但二者的用途却不同数值型变量包括定距和定比变量 可以是整数 小数 负数和正数 数值型变量可以有多种存储方式 storagetypes 用str类型保存的定性等分类变量也可区分为多种形式 从str1 str244 stata的日期变量 日期 date 变量是数值型变量的一个特例 它们通常以字符的形式输入 如 01jan1992or01 01 92 但必须以数值型数据存储才能有用stata有几个命令可以工作于日期和时间依赖 time dependent 数据stata将所有的日期保存为从1960年1月1日以来的天数或月份 季节等 此前的日期是负值 此后的是正值 sas使用同样的日期方式 但其起始时间是1582年的10月14日 excel使用1900年1月1日为默认起始日 如果读入excel数据 则以字符型变量输入日期 并重新格式日期 生成变量的路径 data createorchangevariables 生成变量的窗口 data createorchangevariables createnewvariable 基本命令 stata有四个基本的生成和修改变量的命令 gen egen replace和recode gen和egen分别是generate和extendedgenerate的缩写 它们用于生成新变量 replace和recode用来改变现存变量的属性或数值 replace需要与gen一起使用 二者的区别在于 gen用于生成新变量 replace用于重新定义已经存在的变量 recode也可以与gen一起使用 基本语法 gen 变量名 表达式1 replace 变量名 表达式2 if 条件 生成新变量或替代现存变量取值的基本命令 新变量或其取值将被替换的变量的名称 在gen命令的取值不同于在replace命令的取值 替换原有变量的取值必须满足if指定的条件 yrofschoolingrecoded 这是一个注释 代表注释 genedu 0replaceedu 1ifyrsch 11replaceedu 2ifyrsch 12replaceedu 3ifyrsch 13replaceedu 4ifyrsch 14replaceedu 5ifyrsch 15replaceedu 6ifyrsch 16replaceedu 7ifyrsch 21replaceedu 8ifyrsch 22replaceedu 9ifyrsch 23 replaceedu 10ifyrsch 24 yrsch 27replaceedu 11ifyrsch 25 yrsch 28replaceedu 12ifyrsch 26 yrsch 29replaceedu 13ifyrsch 31replaceedu 14ifyrsch 32replaceedu 15ifyrsch 33replaceedu 16ifyrsch 34replaceedu 17ifyrsch 35replaceedu 18ifyrsch 36replaceedu ifyrsch yrsch 9tab1yrschedu 查看变量的生成是否成功 变量生成的规则 i 生成新变量 重新定义旧变量时需遵循的一些基本规则 变量的名称可长达32个字符 必须以字母 汉字或字符 等 开头 不能使用空白字符或 等特殊字符 变量最后一个字符不能是句号变量的名称必须唯一 不能有两个相同的变量名stata区分大小写 对大写 小写敏感 variable不能写成variable 反之亦然使用描述性的变量名字 变量a 这个名称没有任何意义 调查问题是变量名称的很好选择 变量生成的规则 ii 字符型变量的取值属性置于双引号中 其取值在intercooled版本可多达80个字符 在specialedition版本可达244个字符 超过该极限的字符都被自动舍去数值型变量的缺失值用一个实心小圆点 或在26个字母前加一个实心小圆点 如 a b c z 表示 后者属于延伸 extended 缺失值 对refused 拒绝回答 或notapplicable 不适用 进行编码时十分有用字符型变量的缺失值以双引号表示 引号中什么也没有 但这与空白不是一回事在stata中 缺失值被默认为大于正数的最大值 在使用if条件从句和排序数据时尤为重要 变量生成的注意事项 尽量避免使用同一变量名称 换言之 不要使用新变量取代旧变量 保持原始变量有助于检验我们的命令是否正确充分了解原始变量的分布以及每个数值代表的含义遵循不重不漏 exhaustiveandmutuallyexclusive 原则 详见 生成分组变量 一节 在变量生成后 将原始变量和新变量的取值进行对比 检查是否有误注意原始变量的缺失值 4 3 利用系统变量或下划线变量 n和 n 生成新变量stata有几个下划线变量 variables 读为 underscorevariables 因包含下划线而得名 这类变量并不出现在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表示每个观察值的位置 numberingobservations 其原则是 当前观察值 n 总观察值 最后一个观察值 n n 第一个观察值 1 最后一个观察值 n 滞后一个 lag 观察值 n 1 前移一个 lead 观察值 n 1 第27个观察值 27 假如现有以下数据 provincepersonidhomesizeagegirlsiblings 省份 个人id 家庭规模 年龄 女孩 姊妹数量 1 212106018504505girl1 2 35350515410310018boy0 3 3232050937032468boy0 4 373708156203609boy0 5 454452082404206girl3 6 3535011173052513girl2 7 4545260576069010girl3 8 323209163903252boy0 9 373702093304687boy1 10 3737040575038020boy3 现在想看看每个孩子在省内的排序 使用系统变量 n生成新变量 步骤1 对province 即 关键变量 进行排序 sortprovince步骤2 生成感兴趣的变量 byprovince genorder n 按province的分类进行排序和计算 生成新变量的基本命令 新变量的名称 新变量的取值等于同一province内观察值的序次步骤3 使用频数分布查看生成的结果是否正确 taborder 使用系统变量 n生成新变量 系统变量 n代表样本总数 最后一个样本 n即是 n使用前面的数据 看看每个省共有几个孩子在样本中步骤1 对province进行排序步骤2 生成感兴趣的变量 其命令是 byprovince genceb n步骤3 查看结果正确与否 tabceb 生成滞后 lag 变量或移前变量 lead 在分析某些类型数据 包括常用的家庭成员数据和纵向数据 的过程中 常常需要根据研究问题将一个样本的取值转移到上一个 或下一个 观察值中 gena b n 1 gena b n 1 需要生成的新变量的名称 现有变量的名称 将现有变量的取值下移一行 n 1 或前移一行 n 1 的基本命令 gena age n 1 1missingvaluegenerated genb age n 1 1missingvaluegenerated list provincepersonidhomesizeagegirlsiblingsorderab 1 212106018504505girl11 2 2 323209163903252boy0158 3 3232050937032468boy02218 4 35350515410310018boy01813 5 3535011173052513girl22189 10 4545260576069010girl326 使用系统变量 n或 n检查重复样本 可利用系统变量 n和 n的滞后和前移功能 检查数据中是否存在重复样本第一步 对关键变量 id 进行排序第二步 使用 n或 n将该id的数值下置一行 如果下置的数值与当前id相等的话 则该样本是重复样本在纵向数据中 一个样本可以有多个记录 比如 如果调查共进行了四次 则一个样本最多可有四个记录 这时 我们需要同时利用样本编码 id 和调查时间为依据 找出重复样本 4 4 生成字符型变量的命令 假如需要生成一个 男孩 的字符型变量 genboy nanhai 在字符型变量中 后面表达式的内容需置于双引号中并不是每个样本都是男孩 故需替代上述命令的部分结果 replaceboy nvhai ifgirl 1命令replace与if条件句相结合 改变变量的取值 当变量girl的取值为1时 将变量boy的取值替换为nvhai 其他值不变定义缺失值 replaceboy none ifboy 4 5 生成数值型变量 使用recode gen命令生成新变量 recode 原变量 原变量取值 新变量取值 其他取值 gen 新变量 给变量重新赋值的命令 现有变量的名称 现有变量的取值 新变量的取值 和 是一个整体 符号表示所有其他没有列出的数值 包括缺失值 recode与gen之间有逗号 隔开 生成新变量的命令 新变量的名称 以本章数据中的变量 yrsch 为例 前面使用gen replace的方法在 yrsch 的基础上生成变量 edu 现在使用另一种简便的方法生成 edu 由于变量edu已经存在 首先需要删除该变量 dropedu recodeyrsch0 011 112 213 314 415 516 621 722 823 92427 102528 112629 1231 1332 14 gen edu 该命令在原变量yrsch的基础上生成一个新变量 edu 新变量对原变量的取值重新编码 原变量照旧保存着若无gen edu 部分 则仅取代原有变量的取值 使用数学表达式生成新变量 任何有效的数学表达式在生成变量时都适用 既可以是加 减 乘 除的单独表达式 也可以是混合表达式 gena b c d加法 将变量b c d的数值累加起来 生成新变量a gena b c减法 将变量b的数值减去变量c的数值 得到变量a gena2 a a乘法 该命令生成新变量a2 a a是axa的表达方式 gendoublea b c除法 用变量b的数值除以变量c的数值 得到新变量a 该变量定义为double类型 gena b c 2 新变量a的取值等于变量b的取值除以变量c取值的平方 生成分组变量 不重原则 不重是指每组之间必须相互排斥 mutuallyexclusive 每个观察到的样本必须且只能有一个编码 比如 若一个孩子目前是10岁 他就不可能同时是11岁在一个数据中 样本的受教育年限从0 18年 现需要将其分为4组 文盲和小学 0 6 初中 7 9 高中 10 12 大学及以上 13 若将教育程度划分成了0 7年 7 9岁 10 12年 13年以上的话 则受过7年教育的样本被同时包括在两个组中 违反了不重的原则 生成分组变量 不漏原则 不漏是指详尽分类 exhaustiveness 新变量的类别应该包括数据中的每个观察 observation 样本 婚姻状态 通常被分为在婚 从未结过婚 离婚和丧偶 该分类可能违反了不漏的原则 若调查数据中有同姓婚姻的话 解决方法之一是增加 其他 选项 包括其他类型婚姻若 同姓婚姻 是研究的重点 或具有理论上重要性的话 其他 分类就不合适了教育数据中 若将教育划分为0 5年 7 9年 10 12岁 13年及以上 则受过6年教育的样本就被遗漏了 4 6 生成分类变量 agegroup genagegrp 0 replaceagegrp 1ifage 0 age 5 age 10 age 15 replaceagegrp ifage egenagegrp cut age at 0 5 10 15 20 4 6 4 7 生成虚拟变量 dummy dichotomousvariable 方法1 gen 新变量名 b 限制条件 生成新变量的基本命令 新变量名 旧变量名 当b满足某种条件时 生成新变量比如 genxiaoxue edu 7或 genxiaoxue edu 6或 genbytexiaoxue edu 7或 genbytexiaoxue edu 6 方法2 gen 变量名 1if 取值为1的限制条件 replace 变量名 0if 取值为0的限制条件 比如 genxiaoxue 1ifedu 7若edu大于或等于7 则xiaoxue等于0 replacexiaoxue ifedu 若edu等于 则xiaoxue等于 缺失 方法3 虚拟变量往往是根据某 几 个已知变量的取值生成的 tab 已知变量名 gen 新变量名 基于某个已知变量 生成一组虚拟变量虚拟变量的数目因已知变量的分类而异若现存变量有两个取值 则生成两个虚拟变量若现存变量有三个取值 则生成三个虚拟变量若现存变量有n个取值 则生成n个虚拟变量新生成的虚拟变量有相同的前缀 也就是 新变量名 但尾缀相异 由已知变量名的取值决定 4 8 egen命令 extendedgenerate egen是stata最强大 最有用的命令之一 与generate一样 该命令用于生成新变量 但其功能远胜于此其特点之一是拥有强大的函数功能虽然gen可以支持一些函数 但egen支持额外的函数 egen可以实现许多gen难以达到的目的 比如新生成的变量的取值是另一个变量每个类别的均值 如 男性和女性的收入均值 egen还可以通过计算另一个变量符合某种特征的数值或某些观察值来生成新变量 使用egen生成分类变量 egen 新变量名 cut 旧变量名 at 旧变量取值的下限 生成新变量的命令参数 生成的新变量名称 按照指定的取值下限分割旧变量 函数cut在将数值型数据分解成分类变量的时候非常有用 将一个连续变量的数值按照选项at 的具体值将该变量分成几类 at 指名每个组群的最小值 旧变量名 现有变量取值的下限 假如有以下数据 age freq percentcum 2 110 0010 005 110 0020 006 110 0030 007 110 0040 008 110 0050 009 110 0060 0010 110 0070 0013 110 0080 0018 110 0090 0020 110 00100 00 total 10100 00 现将该连续变量生成一个分类变量 egenagegrp1 cut age at 2 7 13 21 该命令生成分类变量agegrp 年龄组 新变量包含三组2 6岁7 12岁13 20岁 使用egen计算描述性统计量 i egena mean mean a by b 生成一个均值的变量 生成均值的命令的一部分 按照变量b的分类生成均值该命令生成的变量是按变量
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村种植土地开发协议
- 进货商品购销合同
- 《数字孪生技术及应用》课件4.2简单建模
- 八月湿巾促销活动方案
- 公交公司中秋活动方案
- 公交学雷锋活动方案
- 初中生作文老人春节(10篇)
- 公众号线下吸粉活动方案
- 公会周年活动方案
- 公会跑步活动方案
- 医院耗材SPD解决方案(技术方案)
- 供应商黑名单
- 班主任育人故事(通用17篇)
- 食材配送投标方案(技术方案)
- 全国高中青年数学教师优质课大赛一等奖《导数的概念》课件
- 食堂餐厅服务方案投标方案(技术标)
- 第三章 结构材料的力学性能及指标
- 国开经济法律基础形考任务国开电大《经济法律基础》形考任务3答案
- 古生菌的多样性课件
- 量子机器学习
- 2022年1月福建省普通高中学业水平合格性考试化学试题
评论
0/150
提交评论