2022年第六章-stata语言中的常用函数 .pdf

上传人:H****o 文档编号:25197478 上传时间:2022-07-10 格式:PDF 页数:11 大小:50.44KB
返回 下载 相关 举报
2022年第六章-stata语言中的常用函数 .pdf_第1页
第1页 / 共11页
2022年第六章-stata语言中的常用函数 .pdf_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《2022年第六章-stata语言中的常用函数 .pdf》由会员分享,可在线阅读,更多相关《2022年第六章-stata语言中的常用函数 .pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精品资料欢迎下载第六章 stata语言中的常用函数本章重点:Stata系统是一个统计分析系统,stata 语言是实现 stata 系统功能的基础,因此它其中包括了各种各样的函数。在stata 系统中,函数的自变量可以是一个常数,可以是一个变量,或者是一连串的变量。在调用这些函数的时候, 只要将函数中定义中的这些变量替换为相应值即可。这一章,介绍一下这些函数的定义以及使用方法。6.1 函数概览函数只不过是一些编号的小程序,它会按一定的规则进行处理,之后报告结果。实际上,谁也记不住这么多函数,因此,首先要学会查找函数的帮助,当记不住的时候,随时去查寻帮助。记住下面的命令才是最关键的。. help

2、function 弹出来的对话框告诉我们, STATA 包括八类函数,分别是数学函数,分布函数,随机数函数,字符函数,程序函数,日期函数,时间序列函数和矩阵函数。本章主要介绍数学函数和字符函数,日期函数,随机函数等常用函数,其他函数可以参考stata 帮助功能。6.2 数学函数Abs(x) x 的绝对值精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 11 页精品资料欢迎下载Acos(x) 反余弦函数例如:arcos (0.5)=1.57 arcos(1)=0 Asin(x) 反正弦函数Atan(x) 反正切函数atanh(x) 反双曲正

3、切函数ceil(x) 返回大于或等于自变量的最小的整数。例如:ceil(0.7)=1 ceil(3)=3 ceil(-0.7)=0 Floor(x) 返回小于或等于自变量的最大的整数例如:floor(0.7)=0 floor(3)=3 floor(-0.7)=-1 Int(x) 返回自变量的整数部分例如:int(0.7)=0 int(2.9)=2 int(-2.55)=-2 Round(x,y) 返回与 y 的单位最接近的数x,x 为真数,y 为近似单位例 如 : round(5.2,1)= round(4.8,1)=5 round(2.234,0.1)=2.2 round(2.234,0.0

4、1)=2.23 round(2.234,0.001)=2.234 round(28,5)=30 cloglog(x) 返回 ln-ln(1-x) 的值comb(n,k) 从 n 中取 k 个的组合,即 comb(n,k)=n!/k!(n - k)! 例如:comb(10,5)=252 comb(6,2)=15 cos(x) 余弦函数digamma(x) 返回 digamma函数值,这是 lngamma(x)的一阶导数exp(x) 指数函数精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 11 页精品资料欢迎下载例如:exp(0)=1 ex

5、p(3)= 20.085537 invcloglog(x) 返回 invcloglog(x) = 1 - exp-exp(x) 的值ln(x) 自然对数函数lnfactorial(n) 返回 N 阶乘的自然对数,即lnfactorial(n)= ln(n!) ,计算 n!时用 round(exp(lnfactorial(n),1)函数保证得出的结果是一个整数。求 n 的阶乘的对数比单纯求阶乘更有用,因为存在溢出值问题。lngamma(x) 返回.gamma函数的自然对数log10(x) 以 10 为底对数函数logit(x) 返回 logit 函数值 logit(x)= lnx/(1-x) m

6、ax(x1,x2,.,xn) 求 x1, x2, ., xn中的最大值例如:max(1,2,3)=3 min(x1,x2,.,xn) 求 x1, x2, ., xn中的最小值例如:min(1,2,3)=3 mod(x,y) 求 x 除以 y 的余数, 即 mod(x,y) = x - y*int(x/y) 例如: mod(7,4)=3 reldif(x,y) 返回 x,y 的相对差异值, reldif(x,y)= |x-y|/(|y|+1). 如果x 和 y 都是相同类型的缺失值, 则返回 0;如果只有一个为缺失值或 x、y 为不同类型的缺失值,则返回缺失值。sign(x) 求 x 的符号,如

7、果为负数,则返回 -1;如果为 0,则返回0;如果为正数,则返回1;如果是缺失值,则返回缺失值sin(x) 正弦函数精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 11 页精品资料欢迎下载sqrt(x) 求 x 的平方根, x 只能为非负数例如:sqrt(100)=10 sum(x) 返回 x 的和,将缺失值看成是0 tan(x) 正切函数tanh(x) 双曲正切函数trigamma(x) 返回 lngamma(x)的二阶导数trunc(x) 将数据截为特定的长度6.3 概率分布和密度函数betaden(a,b,x) 返回分布的概率密度

8、, a,b 为参数,如果 x 1,返回 0 binomial(n,k,p) n 次贝努里试验,取得成功次数小于或等于k次的概率,其中一次p 为事件成功的概率若 kn 返回 0binomialtail(n,k,p) n 次贝努里试验, 取得成功次数大于或等于k次的概率,其中一次p 为事件成功的概率若 kn 返回 0binormal(h,k,r) 返 回自 由 度 为 n 的 卡方 的 分 布 ,chi2(n,x) = gammap(n/2,x/2)。若 x0 ,则返回 0 chi2tail(n,x) chi2tail(n,x) = 1 - chi2(n,x)。若 x0. 若 x0. 若 x0.

9、若 x0. 若 x0. 若 x0 ,则返回 0 F(n1,n2,f) 返回分子自由度为 n1, 分母自由度为 n2 的 F分布函数。若 f0 ,则返回 0 Fden(n1,n2,f) 分子自由度为 n1,分母自由度为n2 的 F 分布函数的概率密度函数。若f0 ,则返回 0 gammap(a,x) gamma分布ibeta(a,b,x) 分布normal(z) 正态分布函数normalden(z) 标准正态分布密度函数tden(n,t) t 分布的概率密度函数6.4 随机数函数uniform() 产生服从均匀分布的随机数invnormal(uniform() 标准正态分布的随机数精选学习资料

10、- - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 11 页精品资料欢迎下载6.5 字符函数char(n) 返回字符的 ASCII 码indexnot(s1,s2) 返回 s1 中第一个在 s2 中找不到的字母的位置,若 s1所有的字母在 s2中均可以找到,则返回0 例如:indexnot(12disxl,2fsd1)=4 indexnot(12disxl,2fsd1ixs)=7 indexnot(12disxl,2fsd1lixs)=0 itrim(s) 将字符间多于一个空格缩减为一个空格例如:itrim(hello there) = hello th

11、ere length(s) 返回字符串 s的长度例如: length(ab) = 2 lower(s) 将 s中的字母变为 xiaoxie 例如:lower(THIS) = this ltrim(s) 将字符串 s中首字母之前的空格去掉例如: ltrim( this) = this plural(n,s) or plural(n,s1,s2)如果 n!=+/-1, plural(n,s)就是将 s加到s 后。如果 s2 前有+,表示将 s2 加到 s1 后,如果 s2前为- ,则返回 s1中去掉 s2 字符串后剩下的字符串。 如果 s2前既没有 +也没有-, 则 plural(n,s1,s2)

12、=s2. 例如:plural(1, horse) = horse plural(2, horse) = horses plural(2, glass, +es) = glasses plural(1, mouse, mice) = mouse 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 11 页精品资料欢迎下载plural(2, mouse, mice) = mice plural(2, abcdefg, -efg) = abcd proper(s) 将首字母大写,而且将紧接着非字母字符后的字母大写,其他的字母小写例如:proper

13、(mR. joHn a. sMitH) = Mr. John A. Smith proper(jack oreilly) = Jack OReilly proper(2-cents worth) = 2-CentS Worth real(s) 将 s字符串转化为数字后返回,或返回“.”例如:real(5.2)+1 = 6.2 real(hello) = . reverse(s) 将字符串颠倒过来例如:reverse(hello) = olleh rtrim(s) 去掉字符串末尾的空格例如: rtrim(this ) =this. string(n) 将数字 n 转化为字符串例如:string(

14、4)+F = 4F string(1234567) = 1234567 string(12345678) = 1.23e+07 string(.) = . string(n,s) 将数字 n 转化为字符串例如:string(4,%9.2f) = 4.00 string(123456789,%11.0g) = 123456789 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 11 页精品资料欢迎下载string(123456789,%13.0gc = 123,456,789 string(0,%td) = 01jan1960 strin

15、g(225,%tq) = 2016q2 string(225,not a format) = strmatch(s1,s2) s2与 s1的形式相同则返回1,否则返回 0 例如:strmatch(17.4,1?4)=1 在 s2中?代表此处有一个字符,*表示 0 或更多的字符strpos(s1,s2) s2 在 s1中第一次找到的位置,否则为0 例如:strpos(this,is) = 3 strpos(this,it) = 0 subinstr(s1,s2,s3,n) 返回 s1, 将 s1中第 n 次出现 s2时的 s2替换成s3 ,若 n 为” .” ,则将所有 s1中的 s2字符串替换

16、成 s3 例如: subinstr(this is this,is,X,1) = thX is this subinstr(this is this,is,X,2) = thX X this subinstr(this is this,is,X,.) = thX X thX substr(s,n1,n2) 返回 s1的子集,从 s1中第 n1 个字符开始抽取,抽 n2 个字符例如: substr(abcdef,2,3) = bcd substr(abcdef,-3,2) = de substr(abcdef,2,.) = bcdef substr(abcdef,-3,.) = def subs

17、tr(abcdef,2,0) = 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 11 页精品资料欢迎下载substr(abcdef,15,2) = trim(s) 将字符串 s的首字母之前和末尾的空格去掉例如:trim( this ) =this upper(s) 将字符串 s中的字母变为大写例如: upper(this) =THIS word(s,n) s中第 n 个单词例如:word(glass tass a td,2)=tass word(glass tass a td,.)=. wordcount(s) s中单词数例如:wor

18、dcount(glass tass a td)=4 6.6 日期时间函数date(date, mask) 返回 date与 1960 年 1 月 1 日相距的天数,其中mask的形式为“ MDY ” 或“YMD ” 或“DMY ” ,表示 date中年月日的顺序weekly(date, mask) 返回 date与 1960年 1 月 1 日相距的星期数monthly(date, mask) 返回 date与 1960 年 1 月 1 日相距的月数quarterly(date, mask) 返回 date与 1960年 1 月 1 日相距的季度数halfyearly(date, mask) 返

19、回 date与 1960 年 1 月 1 日相距的星期数yearly(date, mask) 返回 date与 1960 年 1 月 1 日相距有多少个半年精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 11 页精品资料欢迎下载clock(date, mask) 返回 date与 1960年 1 月 1 日相距的秒数mdyhms(M, D, Y, h, m, s) 从年月日,小时,分钟,秒得到stata日期时间值dhms(td, h, m, s) 从日期,小时,分钟,秒得到stata日期时间值hms(h, m, s) 从小时,分钟,秒返

20、回一个stata日期时间值mdy(M, D, Y) 从月,日,年中得到一个stata日期值yw(Y, W) 从年,星期得到一个stata日期值,表示距 1960年1 月 1 日有多少个星期ym(Y, M) 从年,月得到一个stata日期值,表示距1960年 1月 1 日有多少个月yq(Y, Q) 从年,季度得到一个stata日期值,表示距 1960 年1 月 1 日有多少个季度yh(Y, H) 从年,半年得到一个stata日期值,表示距1960 年 1月 1 日有多少个半年year(d) 从 stata日期中得到年份month(d) 从 stata日期中得到月份day(d) 从 stata日期

21、中得到当前日期 (一个月内的日期)doy(d) 从 stata日期中得到当前日期(一年内的日期)quarter(d) 从 stata日期中得到当前季度week(d) 从 stata日期中得到当前星期dow(d) 从 stata日期中得到当前星期几,其中0 为星期天,3 为星期三精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 11 页精品资料欢迎下载例:请算算你活了多少天?示例:一个生于1975 年 12 月 27 日的家伙,他活了?.di date(“1975/12/27”, ”YMD ”)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 11 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁