STATA第五讲知识分享.ppt_第1页
STATA第五讲知识分享.ppt_第2页
STATA第五讲知识分享.ppt_第3页
STATA第五讲知识分享.ppt_第4页
STATA第五讲知识分享.ppt_第5页
免费预览已结束,剩余18页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

STATA硕士研究生班 计量经济软件及应用 对外经济贸易大学金融学院谢海滨InternationalBusinessSchool UIBE 第五讲 命令语句结构与运算符 STATA的广泛应用 1 运算符及运算 2 命令语句结构 1命令 command 2变量 varlist 3分类变量 byvarlist 4赋值 exp 5条件 ifexp 6范围 inrange 7加权 weight 8可选 option 第五讲 命令语句结构与运算符 运算符与运算对数据进行加工 不可避免的会涉及到数据的运算 STATA共有四种运算 代数运算 字符运算 逻辑运算和关系运算 各种运算的运算符见右表 运算的优先级 从高到低 或 负号 减 或 当忘记或者无法确定优先序的时候 最好用括号将优先序表达出来 在最里层括号中的表示式将被优先执行 第五讲 命令语句结构与运算符 代数运算代数运算是最基本的数据处理 它包括包括加 减 乘 除 幂 和负数 在进行代数运算时 如果遇到缺失值 运算不可行时 比如除数为零 或运算不用执行时均会得到缺失值 如只给女生成绩进行开方在乘以10进行调整 则可以用如下命令useMath score dta clear 将数学成绩文件打开genmath female sqrt math 10ifgender 0 将女生数学成绩进行调整 并将调整后的成绩记为math female 第五讲 命令语句结构与运算符 字符运算当需要把两个字符进行连接时 同样可以用加号 来完成 比如 把 我 和 爱你 合并在一起 命令为 scalara I LoveU 将字符I和LoveU连接并赋予a 注意 引号必须是在英文半角状态 否则出错 scalarlista 显示a的内容不可以将不同类型的数据进行相加 否则将出错 例如 把数值型数据2和字符型数据3相加就会出错 scalara 5 3 将数值2和字符3相加 结果出错typemismatchr 109 第五讲 命令语句结构与运算符 关系运算关系运算包括大于 小于 等于 大于等于 小于等于 不等于等多种比较关系 特别要注意的是 STATA中的等于符号为 是两个等号连写在一起 表示比较两边的关系式是否相等 它不同于 的含义是将等号右边的值赋予左边的变量 这是一个赋值号 当关系式满足是 显示结果为1 表示关系式正确 否则显示结果为0 表示关系式错误 dis3 5 dis是display的简写 显示结果为0 表示关系式不对dis3 5 显示结果为1 表示关系式正确dis4 4 显示结果为1 表示关系式正确在进行关系运算中一定要注意缺失值 因为在STATA中 系统缺失值大于任何一个数据 例下面举例说明忽略缺失值的严重后果 假定有如下的学生成绩数据 由于John缺考 因此成绩缺失 现在假定学校想了解数学成绩在80 90分和90分以上的人数 有人写出如下命令进行统计genMath 9 Math 90 成绩在90及以上的genMath 8 Math 80 成绩在80 90之间listMathMath 9Math 8 显示结果显然这种统计方式是错误的 因为他将缺考的John的数学成绩当成超过90分来处理 第五讲 命令语句结构与运算符 逻辑运算逻辑运算符包括非 或者 和 或 三种 大量运用在条件和判断语句中 sysuseauto dta clear 导入系统自带的汽车数据文件listif price 5000 foreign 1 显示价格超过5000的国外车的基本特征listturnif price10000 foreign 1 显示价格小于5000或者价格超过10000的国外车的转速注意 在STATA中 和 优先于或 问下面的命令代表什么含义 listturnif price10000 foreign 1 第五讲 命令语句结构与运算符 命令语句的格式通过前面几讲的学习 相信大家对命令多少有了点自己的了解 本讲将介绍STATA命令语句的一般性格式 byvarlist command varlist exp ifexp inrange weight options 一般性格式中包含有如下几个组成部分 命令 command 变量列表 varlist 分类 by 赋值 exp 条件 ifexp 范围 inrange 权重 weight 可选项 options 其中 表示可有可无的项 否则为必选项 显然只有command是必不可少的 下面我们将结合具体的例子来讲解各个组成部分的含义及功能 第五讲 命令语句结构与运算符 命令 command byvarlist command varlist exp ifexp inrange weight options 命令 command 是命令语句中的核心 他告诉计算机应该执行怎样的操作 是实现人和机器沟通的语言 cdd mystata cd 工作路径设定在d盘的mystata文件夹下useauto dta clear use 打开数据文件 clear 清空原有内存summarize all summarize 显示内存中所用变量的基本统计特征summarize 很多命令可以单独使用 这时一般指针对所用变量进行该命令操作 该结果与上一条命令功能一样 sum 与上一条命令等价 是summarize的缩略形式su 与上一条命令等价 是summarize的最简形式s 简写前提是不引起混淆 执行这个命令将出现错误信息unrecognizedcommand sr 199 第五讲 命令语句结构与运算符 命令 command 命令的简化规则在不引起歧义条件下 命令可以尽量只写前几个字母 如summarize只需要前两个字母su 而describe只需要写第一个字母d 在帮助文件中 命令下面的小划线表明了命令的可以省略到什么程度 如describe varlist if in options summarize varlist if in weight options 练习 请用list命令进行仿照练习 第五讲 命令语句结构与运算符 变量 varlist byvarlist command varlist exp ifexp inrange weight options varlist 变量列表 表示一个或者多个变量 多个变量之间用空格隔开 变量一般紧跟command命令之后 表示命令执行对象 如cdd mystata 工作路径设定在d盘的mystata文件夹下useauto dta clear 打开数据文件并清空原有内存suprice 显示价格变量的基本统计特征sup 由于auto文件中只有变量price首字母为p 因此与suprice相同sut 数据中有两个变量的开首字母为t trunk和turn 所以STATA认为t为模糊的省略 并给出如下的错误信息tambiguousabbreviationsutrunkturn 显示trunk和turn的基本统计特征sut 与上一条命令相同 显示首字母为t的所有变量的基本统计特征 第五讲 命令语句结构与运算符 分类变量 byvarlist byvarlist command varlist exp ifexp inrange weight options 该语句的含义是根据变量列表 varlist来执行相应的命令 请比较下面的两个例子 例1 对所有汽车数据进行命令操作cdd mystata 设定工作路径为d盘的mystata文件夹usemyauto dta clear 打开d盘文件夹mystata中的文件myauto dta 并清空原有内存sumpricempglength 对变量进行基本统计分析例2 对国产车和进口车进行分类命令操作byforeign sumpricempglength 对国产车和进口车分别进行基本的数据统计分析注意 用by语句时 一定要确保内存中的数据是按照by后面的变量排序的 否则将会报错 请看下面的例子 sortprice 将内存中的数据按照价格进行排序byforeign sumpricempglengthnotsorted 第五讲 命令语句结构与运算符 赋值操作 exp byvarlist command varlist exp ifexp inrange weight options 该语句主要用于生成新变量 gen 或覆盖原有变量 replace 例 假定销售商相对所有的车进行降价处理 降价的方式是在原有价格基础之上打9折在扣除100美元 我们可以用下面的命令实现 cdd mystatausemyauto dta cleargenadj price price 0 9 100 新的变量adj price由原始价格 0 9减去100来生成listpriceadj price 显示price和adj price的内容如果要覆盖已存在的变量 要用replace命令 不可以用gen命令 第五讲 命令语句结构与运算符 条件语句 ifexp byvarlist command varlist exp ifexp inrange weight options 当我们只想对满足某些条件的数据进行某类操作时 则应当考虑使用条件语句 例1 假定某客户只想查看进口车的价格cdd mystatausemyauto dta clearlistpriceifforeign 1例2 假定某客户只想查看价格高过10000的进口汽车信息listif price 10000 foreign 1 例3 假定某客户想分类查看价格高过10000或低于6000的进口汽车和国产汽车信息byforeign listif price 10000 price 6000 第五讲 命令语句结构与运算符 范围筛选 inrange byvarlist command varlist exp ifexp inrange weight options 如果用户只想对某一范围的数据进行处理 则可以考虑使用in语句 例1 列出前10辆价格最低的汽车的基本信息cdd mystatausemyauto dta clearsortpricelistin1 10注 1 10中的反斜杠 的的含义是从1到10例2 只显示前20辆最低价格汽车中国产车的基本信息listin1 20ifforeign 0 第五讲 命令语句结构与运算符 加权 weight byvarlist command varlist exp ifexp inrange weight options 假定有如右的成绩表 其中score表示成绩 num表示得到该成绩的人数 求所有人的平均成绩 显然简单地使用sumscore命令将会得到错误的结论 因为各个分数下的人数是不一样的 因此需要进行加权处理 具体方法如下 sumscore weight num 加权计算 比较与sumscore结果的差异 第五讲 命令语句结构与运算符 可选项 options byvarlist command varlist exp ifexp inrange weight options 许多命令都有一些可选项 而且不同的命令其可选项也不相同 如果想要了解不同命令的可选项 可以用helpcommand 如helpsummarize 我们在此仅以几个简单的例子来说明可选项 例1 比较下面两段命令语句显示结果的差异cdd mystatacdd mystatausemyauto dta clearusemyauto dta clearsumpricein1 20sumpricein1 20 d我们发现加了可选项d后 统计分析结果要更为丰富 课程小结及参考文献 第五讲 STATA入门 复习和练习 1 打开汽车数据 进行如下操作 1 对国内车进行统一加价处理 价格上调100美元 对国外车进行降价处理 价格超过10000的打8 5折 价格在5000 10000的打9折 其他的价格保持不变 3 将调价后的汽车按价格分为三档 超过10000的为高档车 A 价格在6000 10000的为中档车 B 低于6000的为低档车 C 做出这三类出的占比 饼状图形式呈现 答案 cdd mystatausemyauto dta cleargena price price 100 foreign 0 price 0 85 foreign 1 price 10000 price 0 9 foreign 1 price5000 price foreign 1 price10000 2 a price

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论