版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精品资料 欢迎下载 5 函数与运算符 5.1 运算符 exp STATA 共有四种运算,分别是代数运算,字符运算,关系运算和规律运算; 运算符一览表 +代数运算 ! 规律运算 不 比较关系 加 大于 -减 不 =不小于 /除 &和 ,=,=,&,| 当不确定优先序的时候,最好用括号将优先序直接表达出来; 代数运算 包括加( +),减( -),乘( * ),除( /),幂( )和负数( -),当遇到缺失值 或者运算不行行时(比如除数为零)均会得到缺失值; 例:求正式的值,如 x=4,y=2,明显经过心算,应当为: -1 x y x y xy . di 4+24-2/2*4/di 是 displa
2、y 命令的略写,表示显示结果 . di 4-2 /输出 2第 1 页,共 12 页. di 3*5 /输出 15 精品资料 欢迎下载 . di 8/2 /8 除以 2,输出 4 . di 23 /2 的立方,输出 8. di 2+32-3/sqrt2*3/括号运算优先,想一想,结果应为多少? 实际上, 更多的情形是两个或多个变量的直接运算; 比如, 将进口车的价格 都增加 100 元(可能是关税),而国产车不变; . sysuseauto, clear . gennprice=price+foreign*100 . list nprice price foreign 字符运算 加( +)号同样
3、可用于字符运算,当加号显现在两个字符之间时,两个字符 将被连成一个字符;比如把 ”我爱 ”“STATA”合并在一起,命令为: . scalara=”我爱 ”+“STATA” /要特别留意,引号必需是半角和英文模式 . scalar list a /scalar 命令将两个字符运算后的结果赋于 a,然后显示 a. scalara=2 +“3” /留意到:字符与数值不能直接相加,显示类型不匹配 type mismatch r109;关系运算 关系运算包括大于, 小于,等于;不等于, 不小于, 不大于等多种比较关系; 特别要留意到 STATA 中的等于符号为 “=”,是两个等号连写在一起, 不同于赋
4、 值时用的单个等号“ =”; . di 35 /输出的结果为 0,意味着 3 大于 5 为假; 当数据中含有缺失值的时候需要特别当心, 由于系统缺失值大于任何一个数 据,利用这一点,我们可以使用条件语句排除缺失值; 任务:将年龄分组为 65 岁以下和 65 岁及以上两组,缺失值明显不能包括在任 何一组中; age 第 2 页,共 12 页精品资料 欢迎下载 38 . 65 42 18 80 . clear . edit 将上述数据复制到 STATA 中,然后退出数据编辑. genagegrp1=age=65 器; 生成的数据中,将缺失值视为 65 岁以上分在了高龄组,这是错误的 . genag
5、egrp2=age=65 if age. 生成的数据中, 将缺失值排除在外, 正确!这一命令常被用于生成虚拟变量; . genagegrp3=age=65 if age. /仅判定是否恰好为 65 岁 . list/比较 agegrp1, agegrp2 和 agegrp3 的差异,体if age10000 | price10000 | price10000 | price4000 & forei=0 5.2 函数概览 function 函数只不过是一些编号的小程序,它会按确定的规章进行处理,之后报告结果; 实际上,谁也记不住这么多函数,因此,第一要学会查找函数的帮忙,当记不住 的时候,随时去
6、查寻帮忙;记住下面的命令才是最关键的; . help functionType of function See help-+-Mathematical functions math functions Probability distributions and density functions Random-number functionsdensity functions random-number functions String functions string functionsProgramming functions Date functions Time-series func
7、tionsprogramming functions date functions time-series functions Matrix functions matrix functions弹出来的对话框告知我们, STATA 包括八类函数,分别是数学函数,分布数,随机数函数,字符函数,程序函数,日期函数,时间序列函数和矩阵函数; 函 本章主要介绍数学函数和字符函数,其他函数将在后面相应的章节介绍; 常用函数一览表 数值 函数 含义 举例 absx确定值 abs-9=9型函 combn,k从 n 中取 k 个的组合 comb10,2=45数 expx 指数 exp0=1 随机 fill 自
8、动填充数据 int5.6 = 5, int-5.2 = -5. intx 取整 对数 lnxln1=0以 10 为底的对数 log10 xlog101000=3modx,y= x - y*intx/y mod9,2=1roundx四舍五入 开round5.6=6 方 sqrtx sqrt16=4 求和 sumx 第 10 讲将介绍 uniform 均匀分布随机数 第 4 页,共 12 页函数 invnormaluniform 精品资料 欢迎下载 第 11 讲将介绍 标准正态分布随机数 字符 reals 字符型转化为数值型 函数 stringn 数值型转化为字符型 substrs,n1,n2 从
9、 S 的第 n1 个字符开头, Substr “ this ” ,2,2=is 截取 n2 个字符 words,n 返回 s 的第 n 个字符 Work “this ” ,3=i 系统 _n 当前观看值的序号 变量 _N 共有多少观看值 _pi 数学函数 math functions 三角函数,指数和对数函数 数学函数可以直接对数据进行运算,也可以对变量进行运算; . di sqrt4 . di sqrt6+3 . di abs-100 . di exp1 . di lnexp2 . di _pi . di cos_pi/开方,输出 2 /先相加,再开方,输出 3 /求确定值,输出 100 1
10、/表示 e ,输出 2/先求 e ,再取对数,得到 2 /_pi 为圆周率,得到 /_pi 的余弦值,得到 -1 数学函数可以直接对数据进行运算,也可以对变量进行运算; 对变量的操作: clearset obs 5genx=_n /生成新变量 x, 取值为 1,2, 3, 4, 5 gen y1=expx /取指数 gen y2=lnx /取对数 第 5 页,共 12 页精品资料 欢迎下载 gen y3=sinexpx +coslnx /取对数 l取整和四舍五入 取整 . di int3.49 /int 取整,不论后面的小数是什么,只取小数点前的数值 . di int3.51 / 输出 3 .
11、 di int-3.49 / 输出-3 . di int-3.51 / 输出-3 四舍五入 . di round3.49 /round取整,四舍五入,结果为 3. di round3.51 /四舍五入,结果为 4. di round-3.49 /四舍五入,结果为 -3 . di round-3.51 /四舍五入到个位数,结果为 -4 . di round3.345,.1 . di round3.351,.1 . di round3.345,.01 . di round3.351,.01 . di round335.1,10 对变量的操作 . sysuseauto, clear/四舍五入到特别位
12、,结果为 /四舍五入到特别位,结果为 /四舍五入到百分位,结果为 /四舍五入到百分位,结果为 /四舍五入到十位,结果为 330 . gennprice=price/10000 /将价格变到以万为单位 . gennprice2=round/四舍五入到百分位 . list nprice* /比较结果 第 6 页,共 12 页求和及求均值 精品资料 欢迎下载 gen 和 egenclearset obs5 gen x=_n /生成新变量 x, x 的取值从 1 到 5 geny=sumx /求列累积和 egenz=sumx /求列总和 egenr =rsumx y z /求 x+y+z 总和 ege
13、nhsum = rowtotalx y z /求 hsum=a+b+c egenhavg = rowmeanx y z /求 havg=a+b+c/3 egenhsd = rowsdx y z egenrmin = rowminx y z egenrmax = rowmaxx y z/求 a,b 和 c 的方差 /求 x y z三个变量的最小值 /求 x y z三个变量的最大值 list /留意比较 y 和 z 的不同; egenavgx=meanx /求列均值 egenmedx=medianx /求列中值 egenstdx = stdx /求列标准差 replace y=3 in 3 ege
14、nbyte dxy= diff x y /当 x 与 y 相等时, differ 取 0,如不相等为 1更多关于 egen 命令的用法将参考帮忙: help egen 其他 sysuseauto, clearegenrmpg = rankmpg /求 mpg 的次序 sort rmpg list mpg rank /列示结果 第 7 页,共 12 页精品资料 欢迎下载 egenhighrep78 = anyvaluerep78, v3/5list rep78 highrep78 clearinput a b1 0 1 0 0 1 . 0 0 1 1 0 . 0 endegenab=groupa
15、 begenab2=groupa b,missing lababab2-1. 1 0 3 32. 0 0 1 13. 1 1 4 44. 0 1 2 25. 0 0 1 1-6. 1 . . 57. . 0 . 6字符函数 string functions /*如 rep78 不为 3,4 或 5, 就为缺失值 */ 任务:将美国汽车数据中汽车商标变量值简化为取前三个字母, 得到一个新的变 量 make3 sysuseauto, cleargenstr3 make3=substrmake,1,3list make* 任务: 下表的数据是一个多项题,请把这道多项题转化为四个单项题 a第 8 页,
16、共 12 页精品资料 欢迎下载 222, 1, 3 1, 2, 4 4, 2, 1 1, 2 21, 2 genna1=strposa, 1 .=0/stropss1,s2 返 回字符 s2 在 s1 中的位置 genna2=strposa, 2 .=0genna3=strposa, 3 .=0 genna4=strposa, 4 .=0 listana1na2na3na41.201002.201003.1,2,311104.1,2,411015.1,2,411016.1,211007.201008.1,21100webusegenxmpl2, cleargenname2= wordname,
17、2 list n* 分类操作 by clear edit/新变量 name2,取值为 name 的其次个字母 * 将下表复制粘贴到 STATA 数据编辑器中,留意粘贴时把光标停在第一格; x y 1 1第 9 页,共 12 页精品资料 欢迎下载 122genn=_n /生成一个新变量 n=1,2,3,4,5 genN=_N /生成一个新变量 N=5,5,5,5,5 genz=y1 /生成一个新变量 z=y 的第一个观看值 l1.xynNz-1152.1253.1354.2455.255by x, sort: genn1=_n/留意到 n1 与 n 的不同, n1 按 x 分类进行操作 by x
18、, sort: genN1=_Nby x, sort: genz1=y1 listx y nNz n1 N1 z1 1. 115132. 125233. 135334. 245125. 25522任务:以下数据为家庭成员数据 family.dta ,其中 hhid 为家庭编码, age 为家庭 成员的年龄; 将下表数据复制到 STATA ,然后另存为 hhid age 1 86 第 10 页,共 12 页1精品资料 欢迎下载 42 1 36 1 57 1 28 2 42 2 52 40 要求:(1)生成一个新变量 hhsize ,该变量表示共有多少个家庭成员; (2)给 每个家庭成员一个编码
19、id;如第一个家庭的第一个成员编码为 11;( 3)按家庭 生成一个全家成员平均年龄值 mage;(4)对每个家庭,分别按年龄大小排序, 然后生成一个家庭成员代码,即家庭内年龄最小的成员代码为 1,年龄最大的家 庭成员,代码为 nid; 最终需要生成的数据集如下: hhid age hhsize id mage nid 1 2 3 4 5 1 2 3128 515 136 513 142 512 157 514 186 511 25322 29 240 323 29 242 321 29 请自己先摸索,再参考如下操作 : 将上表数据复制粘贴到 STATA 数据编辑器,然后执行下面的命usefamily, clear令 by hhid,sort :genhhsize=_N/得到家庭规模 hhsize by hhid,sort :genid=_n+hhid*10 /为家庭成员编码 by hhid,sort: egenmage=meanage / 求平均年龄 sort hhid age / 按户排序,在每个户内按年龄大小排序 by hhid: gen nid=_n/在户内按年龄大小为家庭成员编码 +-+ | hhid age hhsize id mage nid
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度公益岗位用工合作协议3篇
- 2025年度电商平台会员消费返利协议3篇
- 2025年度废塑料瓶回收与环保瓶盖生产合同样板3篇
- 二零二五年度农机智能化作业合同书3篇
- 二零二五年度电子信息产品开发合作协议书2篇
- 二零二五年度消防安全风险评估与整改方案协议3篇
- 农村土地经营权抵押贷款担保合同
- 2025年度医药研发人员竞业禁止劳动合同书3篇
- 2025年度餐饮业食品安全责任书3篇
- 二零二五年度历史文化名城拆迁房产分割与文物保护合同3篇
- 铁路线路及站场第三章道岔课件
- 西南交通大学年《数字信号处理》经典例题及答案解析
- 养生馆顾客档案表格资料
- 海螺牌水泥质量检验报告28天报告425加章2015
- 免洗手消毒凝胶生产工艺规程
- 安装工程定额讲义
- 乒乓球比赛第二阶段对阵图表
- 机制砂检测报告
- 省教育厅检查组接待方案
- 气动潜孔锤施工方案
- 云南省教育科学规划课题开题报告 - 云南省教育科学研究院
评论
0/150
提交评论