第六章 stata语言中的常用函数.docx
- 文档编号:10370133
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:9
- 大小:18.68KB
第六章 stata语言中的常用函数.docx
《第六章 stata语言中的常用函数.docx》由会员分享,可在线阅读,更多相关《第六章 stata语言中的常用函数.docx(9页珍藏版)》请在冰豆网上搜索。
第六章stata语言中的常用函数
第六章stata语言中的常用函数
本章重点:
Stata系统是一个统计分析系统,stata语言是实现stata系统功能的基础,因此它其中包括了各种各样的函数。
在stata系统中,函数的自变量可以是一个常数,可以是一个变量,或者是一连串的变量。
在调用这些函数的时候,只要将函数中定义中的这些变量替换为相应值即可。
这一章,介绍一下这些函数的定义以及使用方法。
6.1函数概览
函数只不过是一些编号的小程序,它会按一定的规则进行处理,之后报告结果。
实际上,谁也记不住这么多函数,因此,首先要学会查找函数的帮助,当记不住的时候,随时去查寻帮助。
记住下面的命令才是最关键的。
.helpfunction
弹出来的对话框告诉我们,STATA包括八类函数,分别是数学函数,分布函数,随机数函数,字符函数,程序函数,日期函数,时间序列函数和矩阵函数。
本章主要介绍数学函数和字符函数,日期函数,随机函数等常用函数,其他函数可以参考stata帮助功能。
6.2数学函数
●Abs(x)x的绝对值
●Acos(x)反余弦函数
例如:
arcos(0.5)=1.57arcos
(1)=0
●Asin(x)反正弦函数
●Atan(x)反正切函数
●atanh(x)反双曲正切函数
●ceil(x)返回大于或等于自变量的最小的整数。
例如:
ceil(0.7)=1ceil(3)=3ceil(-0.7)=0
●Floor(x)返回小于或等于自变量的最大的整数
例如:
floor(0.7)=0floor(3)=3floor(-0.7)=-1
●Int(x)返回自变量的整数部分
例如:
int(0.7)=0int(2.9)=2int(-2.55)=-2
●Round(x,y)返回与y的单位最接近的数x,x为真数,y为近似单位
例如:
round(5.2,1)=round(4.8,1)=5round(2.234,0.1)=2.2round(2.234,0.01)=2.23
round(2.234,0.001)=2.234round(28,5)=30
●cloglog(x)返回ln{-ln(1-x)}的值
●comb(n,k)从n中取k个的组合,即comb(n,k)=n!
/{k!
(n-k)!
}
例如:
comb(10,5)=252comb(6,2)=15
●cos(x)余弦函数
●digamma(x)返回digamma函数值,这是lngamma(x)的一阶导数
●exp(x)指数函数
例如:
exp(0)=1exp(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)=ln{x/(1-x)}
●max(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的符号,如果为负数,则返回-1;如果为0,则返回0;如果为正数,则返回1;如果是缺失值,则返回缺失值
●sin(x)正弦函数
●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)返回β分布的概率密度,a,b为参数,如果x<0或者x>1,返回0
●binomial(n,k,p)n次贝努里试验,取得成功次数小于或等于k次的概率,其中一次p为事件成功的概率若k<0返回1;若k>n返回0
●binomialtail(n,k,p)n次贝努里试验,取得成功次数大于或等于k次的概率,其中一次p为事件成功的概率若k<0返回1;若k>n返回0
●binormal(h,k,r)返回自由度为n的卡方的分布,chi2(n,x)=gammap(n/2,x/2)。
若x<0,则返回0
●chi2tail(n,x)chi2tail(n,x)=1-chi2(n,x)。
若x<0,则返回1
●dgammapda(a,x)返回gammap(a,x)分布函数关于a的偏微分,a>0.若x<0,则返回0
●dgammapdada(a,x)返回gammap(a,x)分布函数关于a的二阶偏微分,a>0.若x<0,则返回0
●dgammapdadx(a,x)返回gammap(a,x)分布函数关于a和x的二阶偏微分,a>0.若x<0,则返回0
●dgammapdx(a,x)返回gammap(a,x)分布函数关于x的偏微分,a>0.若x<0,则返回0
●dgammapdxdx(a,x)返回gammap(a,x)分布函数关于x的二阶偏微分,a>0.若x<0,则返回0
●F(n1,n2,f)返回分子自由度为n1,分母自由度为n2的F分布函数。
若f<0,则返回0
●Fden(n1,n2,f)分子自由度为n1,分母自由度为n2的F分布函数的概率密度函数。
若f<0,则返回0
●gammap(a,x)gamma分布
●ibeta(a,b,x)β分布
●normal(z)正态分布函数
●normalden(z)标准正态分布密度函数
●tden(n,t)t分布的概率密度函数
6.4随机数函数
●uniform()产生服从均匀分布的随机数
●invnormal(uniform())标准正态分布的随机数
6.5字符函数
●char(n)返回字符的ASCII码
●indexnot(s1,s2)返回s1中第一个在s2中找不到的字母的位置,若s1所有的字母在s2中均可以找到,则返回0
例如:
indexnot("12disxl","2fsd1")=4indexnot("12disxl","2fsd1ixs")=7
indexnot("12disxl","2fsd1lixs")=0
●itrim(s)将字符间多于一个空格缩减为一个空格
例如:
itrim("hellothere")="hellothere"
●length(s)返回字符串s的长度
例如:
length("ab")=2
●lower(s)将s中的字母变为xiaoxie
例如:
lower("THIS")="this"
●ltrim(s)将字符串s中首字母之前的空格去掉
例如:
ltrim("this")="this"
●plural(n,s)orplural(n,s1,s2)如果n!
=+/-1,plural(n,s)就是将"s"加到s后。
如果s2前有"+",表示将s2加到s1后,如果s2前为"-",则返回s1中去掉s2字符串后剩下的字符串。
如果s2前既没有"+"也没有"-",则plural(n,s1,s2)=s2.
例如:
plural(1,"horse")="horse"
plural(2,"horse")="horses"
plural(2,"glass","+es")="glasses"
plural(1,"mouse","mice")="mouse"
plural(2,"mouse","mice")="mice"
plural(2,"abcdefg","-efg")="abcd"
●proper(s)将首字母大写,而且将紧接着非字母字符后的字母大写,其他的字母小写
例如:
proper("mR.joHna.sMitH")="Mr.JohnA.Smith"
proper("jacko'reilly")="JackO'Reilly"
proper("2-cent'sworth")="2-Cent'SWorth"
●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(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"
string(123456789,"%13.0gc"="123,456,789"
string(0,"%td")="01jan1960"
string(225,"%tq")="2016q2"
string(225,"notaformat")=""
●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字符串替换成s3
例如:
subinstr("thisisthis","is","X",1)="thXisthis"
subinstr("thisisthis","is","X",2)="thXXthis"
subinstr("thisisthis","is","X",.)="thXXthX"
●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"
substr("abcdef",2,0)=""
substr("abcdef",15,2)=""
●trim(s)将字符串s的首字母之前和末尾的空格去掉
例如:
trim("this")="this"
●upper(s)将字符串s中的字母变为大写
例如:
upper("this")="THIS"
●word(s,n)s中第n个单词
例如:
word("glasstassatd",2)=tass
word("glasstassatd",.)=.
●wordcount(s)s中单词数
例如:
wordcount("glasstassatd")=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)返回date与1960年1月1日相距的星期数
●yearly(date,mask)返回date与1960年1月1日相距有多少个半年
●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)从小时,分钟,秒返回一个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日期中得到当前日期(一个月内的日期)
●doy(d)从stata日期中得到当前日期(一年内的日期)
●quarter(d)从stata日期中得到当前季度
●week(d)从stata日期中得到当前星期
●dow(d)从stata日期中得到当前星期几,其中0为星期天,3为星期三
例:
请算算你活了多少天?
示例:
一个生于1975年12月27日的家伙,他活了?
.didate(“1975/12/27”,”YMD”)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六章 stata语言中的常用函数 第六 stata 语言 中的 常用 函数
![提示](https://static.bdocx.com/images/bang_tan.gif)