SAS常用函數(shù)大全_第1頁(yè)
SAS常用函數(shù)大全_第2頁(yè)
SAS常用函數(shù)大全_第3頁(yè)
SAS常用函數(shù)大全_第4頁(yè)
SAS常用函數(shù)大全_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

引言本文根據(jù)網(wǎng)絡(luò)資源和書(shū)籍結(jié)合自己的經(jīng)驗(yàn)對(duì)SAS的常用函數(shù)進(jìn)行了整理。主要內(nèi)容包括:1.

字符函數(shù)2.

日期和時(shí)間函數(shù)3.

數(shù)組函數(shù)4.

數(shù)學(xué)函數(shù)5.

樣本描述統(tǒng)計(jì)函數(shù)6.

特殊函數(shù)7.

隨機(jī)數(shù)函數(shù)8.

宏函數(shù)9.

變量信息函數(shù)10.分布密度函數(shù)、分布函數(shù)11.分位數(shù)函數(shù)

一、字符函數(shù)

1.1TRIM(s)

返回去掉字符串s的尾隨空格的結(jié)果。

1.2UPCASE(s)

把字符串s中所有小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母后的結(jié)果。

1.3LOWCASE(s)

把字符串s中所有大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母后的結(jié)果。

1.4INDEX(s,s1)

查找s1在s中出現(xiàn)的位置。找不到時(shí)返回0。

1.5RANK(s)

字符s的ASCII碼值。

1.6BYTE(n)

第n個(gè)ASCII碼值的對(duì)應(yīng)字符。

1.7REPEAT(s,n)

字符表達(dá)式s重復(fù)n次。

1.8SUBSTR(s,p,n)

從字符串s中的第p個(gè)字符開(kāi)始抽取n個(gè)字符長(zhǎng)的子串

1.9TRANWRD(s,s1,s2)

從字符串s中把所有字符串s1替換成字符串s2后的結(jié)果。

1.10PROPCASE(s)

把字符串s的第一個(gè)字母大寫(xiě)。1.11CATX(d,s1,s2)

把字符串s1和字符串s2通過(guò)d(如'-')連接返回結(jié)果。1.12COMPBL(s)

把字符串s中的不同長(zhǎng)度空格變?yōu)殚L(zhǎng)度為1的空格返回結(jié)果。1.13COMPRESS(s,c,m)

將字符串c(默認(rèn)為空格)從字符串中移除,m為對(duì)d的添加項(xiàng)如下:

d

增加數(shù)字到初始字符里(chars)。

f

增加下劃線(xiàn)和字母

(A-Z,a-z)

到初始字符里(chars)。

g

增加圖形字符到初始字符里(chars)。

k

不移除初始字符(chars)而是返回這些字符。

l

增加小寫(xiě)字母(a-z)。

n

增加數(shù)字、下劃線(xiàn)和字母(A-Z,a-z)。

p

增加標(biāo)點(diǎn)符號(hào)。

s

增加空格,包括空格,水平制表符,垂直制表符,回車(chē)符,換行符和換頁(yè)符

u

增加大寫(xiě)字母(A-Z)。

a增加(A-Z,a-z)到初始字符里(chars)。1.14

ANYALNUM(s,start)

查找字符串s中從start位置開(kāi)始第一個(gè)數(shù)字或者字母的位置。1.15

ANYALPHA(s,start)

查找字符串s中從start位置開(kāi)始第一個(gè)字母的位置。1.16

ANYDIGIT

(s,start)

查找字符串s中從start位置開(kāi)始第一個(gè)數(shù)字的位置。1.17

ANYPUNCT

(s,start)

查找字符串s中從start位置開(kāi)始第一個(gè)特殊標(biāo)點(diǎn)字符的位置。1.18

ANYSPACE(s,start)查找字符串s中從start位置開(kāi)始第一個(gè)空格的位置。1.19

ANYUPPER

(s,start)

查找字符串s中從start位置開(kāi)始第一個(gè)大寫(xiě)字母的位置。1.20

NOTALNUM(s,start)查找字符串s中從start位置開(kāi)始第一個(gè)非數(shù)字和字母的位置。1.21

NOTALPHA

(s,start)

查找字符串s中從start位置開(kāi)始第一個(gè)非字母的位置。1.22

NOTUPPER

(s,start)

查找字符串s中從start位置開(kāi)始第一個(gè)非大寫(xiě)字母的位置。1.23

FIND(s,c,m,start)查找字符串s中從start開(kāi)始字符串c的第一次出現(xiàn)的位置,m為i時(shí)忽略大小寫(xiě)。1.24

FINDC(s,c,m,start)查找字符串s中從start開(kāi)始字符串c中任何一個(gè)字符第一次出現(xiàn)得的位置,m為對(duì)d的添加項(xiàng)如下:

i

忽略大小寫(xiě)

t

忽略字符串兩邊首尾的空格

k

查找除C中的任何字符

a

增加大寫(xiě)和小寫(xiě)字母(a-z)(A-Z)

d

增加數(shù)字.1.25

FINDW

(s,w,m,start)查找字符串s中以w為分隔符(默認(rèn)為空格)從start位置開(kāi)始第一個(gè)出現(xiàn)字符串整體w的位置。1.26

INDEXC(s,s1,s2,sn)

查找多個(gè)字符串s1,s2,s3在s中出現(xiàn)的位置。找不到時(shí)返回0。1.27VERIFY(s,s1)

查找字符串s中第一個(gè)非字符串s1中任何字符的位置,找不到時(shí)返回0。1.28

CALLCATS

(s,s1,s2,sn)把字符串S1-Sn去除首尾空格連接后賦值給變量s。1.29

CALLCATX(d,s,s1,s2,sn)把字符串S1-Sn去除首尾空格通過(guò)d連接后賦值給變量s1.30

LEFT

(s)

去除字符串s的左邊空格。1.31

STRIP

(s)

返回去掉字符串s首尾空格的結(jié)果。1.32

SCAN

(s,n,d,m)

返回以d為分隔符分隔后字符串s的第n個(gè)字符串的結(jié)果,m為對(duì)d的修正項(xiàng)。1.33

TRANSLATE

(s,t1,f1,t2,f2..tn,fn)返回將單個(gè)字符f1變?yōu)閠1,f2變?yōu)閠2...fn變?yōu)閠n后的字符串s的結(jié)果。1.34

LENGTH(s)返回去除尾部空格后字符串s的長(zhǎng)度1.35

COUNT(s,s1,m)返回字符串s1在字符串s中出現(xiàn)的次數(shù),m為i時(shí)忽略大小寫(xiě)。1.36

COUNTC(s,s1,m)返回字符串s1中任何單個(gè)字符在字符串s中出現(xiàn)的次數(shù)之和,m為i時(shí)忽略大小寫(xiě)。1.37

COUNTW(s,d,m)返回以d為分隔符的字符串s中字符串個(gè)數(shù),m為對(duì)d修正項(xiàng)。1.38

MISSING(s)

返回s是否為缺失值,是為1不是為0。1.39

COALESCEC(s1,s2,..,sn)返回字符串s1,s2..sn中第一個(gè)不為缺失的字符1.40

IFC(logical-expression,T,F)

當(dāng)邏輯語(yǔ)句為真時(shí)返回T,假或缺失返回F1.41

REVERSE(s)返回字符串s反轉(zhuǎn)的結(jié)果。

二、日期與時(shí)間函數(shù)

2.1MDY(m,d,yr)

生成yr年m月d日的SAS日期值

2.2YEAR(date)

由SAS日期值date得到年

2.3MONTH(date)

由SAS日期值date得到月

2.4DAY(date)

由SAS日期值date得到日

2.5WEEKDAY(date)

由SAS日期值date得到星期幾

2.6QTR(date)

由SAS日期值date得到季度值

2.7HMS(h,m,s)

由小時(shí)h、分鐘m、秒s生成SAS時(shí)間值

2.8DHMS(d,h,m,s)

由SAS日期值d、小時(shí)h、分鐘m、秒s生成SAS日期時(shí)間值

2.9DATEPART(dt)

求SAS日期時(shí)間值dt的日期部分

2.10INTNX(interval,from,n)

計(jì)算從from開(kāi)始經(jīng)過(guò)n個(gè)interval間隔后的SAS日期。

其中interval

可以取'YEAR'、'QTR'、'MONTH'、'WEEK'、'DAY'等。

例:INTNX('MONTH','16Dec1997'd,3)=1998年3月1日。2.11INTCK(interval,from,to)

計(jì)算從日期from到日期to中間經(jīng)過(guò)的interval間隔的個(gè)數(shù),其中interval取'MONTH'等。

例:INTCK('YEAR','31Dec1996'd,'1Jan1998'd)=2函數(shù)計(jì)算1996年12

月31日到1998年1月1日經(jīng)過(guò)的年間隔的個(gè)數(shù),結(jié)果得2,盡管這兩個(gè)日期之間實(shí)際只隔1年。

2.12DATE()/TODAY()/DATETIME()/TIME()

返回現(xiàn)在時(shí)間。2.13WEEK(date)

由SAS日期值date得到一年當(dāng)中第幾周。

2.14HOUR(date/time)

由SAS日期值date或時(shí)間得到小時(shí)。

2.15TIMEPART(dt)

求SAS日期時(shí)間值dt的時(shí)間部分2.16YRDIF(from,to,'basis')

計(jì)算從日期from到日期to中間經(jīng)過(guò)的年份數(shù),basis為計(jì)算年份標(biāo)準(zhǔn),如'ACTUAL'/'ACT/365'/。2.17

HOLIDAY(holiday,year)

計(jì)算year年某節(jié)日的日期,如HOLIDAY(Christmas,2009)。三、數(shù)組函數(shù)

3.1DIM(x)

求數(shù)組x第一維的元素的個(gè)數(shù)。

3.2DIMk(x)

求數(shù)組x第k維的元素的個(gè)數(shù)。

3.3LBOUND(x)

求數(shù)組x第一維的下界。

3.4HBOUND(x)

求數(shù)組x第一維的上界。

3.5LBOUNDk(x)

求數(shù)組x第

k維的下界。

3.6HBOUNDk(x)

求數(shù)組x第

k維的上界。四、數(shù)學(xué)函數(shù)4.1ABS(x)

求x的絕對(duì)值。4.2MAX(x1,x2,…,xn)

求所有自變量中的最大值。4.3MIN(x1,x2,…,xn)

求所有自變量中的最小值。4.4MOD(x,y)

求x除以y的余數(shù)。4.5SQRT(x)

求x的平方根。4.6ROUND(x,eps)

求x按照eps指定的精度四舍五入后的結(jié)果

例:ROUND(5654.5654,0.01)=5654.57

ROUND(5654.5654,10)=5650

4.7CEIL(x)

求大于等于x的最小整數(shù)。

4.8FLOOR(x)

求小于等于x的最大整數(shù)。

4.9INT(x)

取整數(shù)部分(x扔掉小數(shù)部分后的結(jié)果)。

4.10FUZZ(x)

當(dāng)x與其四舍五入整數(shù)值相差小于1E-12時(shí)取四舍五入。

4.11LOG(x)

求x的自然對(duì)數(shù)。

4.12LOG10(x)

求x的常用對(duì)數(shù)。

4.13EXP(x)指數(shù)函數(shù)。

4.14

SIN(x),COS(x),TAN(x)

求x的正弦、余弦、正切函數(shù)。

4.15ARSIN(y)

計(jì)算函數(shù)y=sin(x)在區(qū)間的反函數(shù),y取[-1,1]間值。

4.16ARCOS(y)

計(jì)算函數(shù)y=cos(x)在的反函數(shù),y取[-1,1]間值。

4.17ATAN(y)

計(jì)算函數(shù)y=tan(x)在的反函數(shù),y取間值。

4.18SINH(x),COSH(x),TANH(x)

雙曲正弦、余弦、正切。

4.19ERF(x)

誤差函數(shù)。

4.20GAMMA(x)

伽瑪函數(shù)。4.21

SIGN(x)符號(hào)函數(shù)。五、樣本描述統(tǒng)計(jì)函數(shù)

樣本統(tǒng)計(jì)函數(shù)把輸入的自變量作為一組樣本,計(jì)算樣本統(tǒng)計(jì)量。其調(diào)用格式為“函數(shù)名(自變量1,自變量2,…,自變量n)”或者“函數(shù)名(OF

變量名列表)”。比如SUM是求和函數(shù),如果要求x1,x2,x3的和,可以用SUM(x1,x2,x3),也可以用SUM(OFx1-x3)。這些樣本統(tǒng)計(jì)函數(shù)只對(duì)自變量中的非缺失值進(jìn)行計(jì)算,比如求平均時(shí)把缺失值不計(jì)入內(nèi)。

5.1MEAN

均值

5.2MAX

最大值

5.3MIN

最小值

5.4N

非缺失數(shù)據(jù)的個(gè)數(shù)

5.5NMISS

缺失數(shù)值的個(gè)數(shù)。

5.6SUM

求和

5.7VAR

方差

5.8STD

標(biāo)準(zhǔn)差

5.9STDERR

均值估計(jì)的標(biāo)準(zhǔn)誤差,用STD/SQRT(N)計(jì)算。

5.10CV

變異系數(shù)

5.11RANGE

極差

5.12CSS

離差平方和

5.13USS

平方和

5.14SKEWNESS

偏度

5.15KURTOSIS

峰度5.16MEDIAN

中位數(shù)5.17IQR

四分位數(shù)的間距5.18SMALLEST(n)第n小的數(shù)5.19LARGEST(n)第n大的數(shù)5.20PCTL(percentile,x1-xn)

percentile%分位數(shù)

六、特殊函數(shù)6.1LAGN(x)

返回該自變量x前n條觀測(cè)(記錄)中該變量的值。6.2DIFN(x)

放回該自變量x的值減去前n條觀測(cè)(記錄

)中該變量的值。6.3INPUT(x,informat)

將類(lèi)型為字符的變量x轉(zhuǎn)化為數(shù)字型變量(一般情況)或者自定義類(lèi)型。6.4PUT(x,format)

將變量x轉(zhuǎn)化為字符型(一般情況)或自定義輸出格式變量。6.5INPUTC(x,informat)

將類(lèi)型為字符的變量x轉(zhuǎn)化為自定義字符格式(可以為動(dòng)態(tài)的自定義格式)。6.6INPUTN(x,informat)

將類(lèi)型為字符的變量x轉(zhuǎn)化為自定義數(shù)字型格式(可以為動(dòng)態(tài)的自定義格式)。6.7PUTC(x,format)

將字符型變量x轉(zhuǎn)化輸出格式或自定義輸出格式(可以為動(dòng)態(tài)格式)6.8PUTN(x,format)

將數(shù)字型變量x轉(zhuǎn)化輸出格式或自定義輸出格式(可以為動(dòng)態(tài)格式)

自定義動(dòng)態(tài)格式:變量Dummy根據(jù)不同情況,輸出不同格式:格式:valuewhich1='mmddyy10.'

2='date9.';數(shù)據(jù):whichone

Dummy110/21/1980221OCT1980則Date=

inputn(Dummy,

put(Which_one,which.));

會(huì)根據(jù)whichone的不同轉(zhuǎn)化格式

6.9CALLMISSING(ofx1-xn)

將變量x1-xn轉(zhuǎn)化為缺失值

七、隨機(jī)數(shù)函數(shù)

7.1

均勻分布隨機(jī)數(shù)

有兩個(gè)均勻分布隨機(jī)數(shù)函數(shù):UNIFORM(seed),seed必須是常數(shù),為0,或5位、6位、7位的奇數(shù)。RANUNI(seed),seed為小于2**31-1的任意常數(shù)。在同一個(gè)數(shù)據(jù)步中對(duì)同一個(gè)隨機(jī)數(shù)函數(shù)的多次調(diào)用將得到不同的結(jié)果,但不同數(shù)據(jù)步中從同一種子出發(fā)將得到相同的隨機(jī)數(shù)序列。隨機(jī)數(shù)種子如果取0或者負(fù)數(shù)則種子采用系統(tǒng)日期時(shí)間。

7.2

正態(tài)分布隨機(jī)數(shù)

有兩種:(1)

NORMAL(seed),seed為0,或5位、6位、7位的奇數(shù)。(2)

RANNOR(seed),seed為任意數(shù)值常數(shù)。

7.3

指數(shù)分布隨機(jī)數(shù)

RANEXP(seed),seed為任意數(shù)值,產(chǎn)生參數(shù)為1的指數(shù)分布的隨機(jī)數(shù)。

參數(shù)為lambda的指數(shù)分布可以用RANEXP(seed)/lambda得到。

7.4

伽馬分布隨機(jī)數(shù)

RANGAM(seed,alpha),seed為任意數(shù)值常數(shù),alpha>0,得到參數(shù)為alpha的伽馬分布。設(shè)X=RANGAM(seed,alpha),則Y=beta*X是形狀參數(shù)為alpha,尺度參數(shù)為beta的GAMMA分布隨機(jī)數(shù)。如果alpha是整數(shù),則Y=2*X是自由度為

2*alpha的卡方分布隨機(jī)數(shù)。

如果alpha是正整數(shù),則Y=beta*X是Erlang分布隨機(jī)數(shù),為alpha個(gè)獨(dú)立的均值為beta的指數(shù)分布變量的和。如果Y1=RANGAM(seed,alpha),Y2=RANGAM(seed,beta),在Y=Y1/(Y1Y2)是參數(shù)為(alpha,beta

)的貝塔分布隨機(jī)數(shù)。

7.5

三角分布隨機(jī)數(shù)

RANTRI(seed,h),seed為任意數(shù)值常數(shù),0<h<1。此分布在0到1取值,密度在0到h

之間為2x/h,在h到1之間為2(1-x)/(1-h)。

7.6

柯西分布隨機(jī)數(shù)

RANCAU(seed),seed為任意數(shù)值常數(shù)。產(chǎn)生位置參數(shù)為0,尺度參數(shù)為1的標(biāo)準(zhǔn)柯西分布隨機(jī)數(shù)。Y=alphabeta*RANCAU(seed)為位置參數(shù)為alpha,尺度參數(shù)為beta的一般柯西分布隨機(jī)數(shù)。

7.7

二項(xiàng)分布隨機(jī)數(shù)

RANBIN(seed,n,p)產(chǎn)生參數(shù)為(n,p)的二項(xiàng)分布隨機(jī)數(shù),seed為任意數(shù)值。

7.8

泊松分布隨機(jī)數(shù)

RANPOI(seed,lambda)產(chǎn)生參數(shù)為lambda>0的泊松分布隨機(jī)數(shù),seed為任意數(shù)值。

7.9

一般離散分布隨機(jī)數(shù)

RANTBL(seed,p1,…,pn)生成取1,2,…,n的概率分別為p1,…,pn的離散分布隨機(jī)數(shù)。八、宏函數(shù)

8.1CALLSYMPUT(x,v)

再執(zhí)行data步時(shí)將變量v的值賦給宏變量x。8.2CALLSYMPUTX(x,v)

再執(zhí)行data步時(shí)將變量v(去除首尾空格)的值賦給宏變量x。8.3RESOLVE(x)

解析文本x中的宏變量,如resolve('&x'||3)

為解析&x3.。8.4

CALLEXECUTE(x)

用于在data

步中執(zhí)行宏語(yǔ)句x。8.5SYMGET(x)在data步驟中解析宏變量x。8.5%SYSFUNC(x)在宏語(yǔ)句里調(diào)用base的函數(shù)x。九、變量信息函數(shù)9.1

VTYPE(x)

x為字符型則返回C,x為數(shù)字型則返回N。9.2

VTYPEX(x)

x為字符型則返回C,x為數(shù)字型則返回N,x可以為一個(gè)表達(dá)式如x||i。9.3VLENGTH(x)

返回變量x的存儲(chǔ)長(zhǎng)度。9.4VNAME(a)

返回變量a的存儲(chǔ)名。如:N[*]X2-X3YZ;

VNAME(N[2])=X39.5VLABEL(a)

返回變量a的標(biāo)簽,如果無(wú)標(biāo)簽則返回變量名。9.6VVALUE(a)

返回變量a的format值。9.7VFORMAT(a)返回變量a

的fomat名稱(chēng)。9.8VINFORMAT(a)返回變量a的informat名稱(chēng)。

十、分布密度函數(shù)、分布函數(shù)

作為一個(gè)統(tǒng)計(jì)計(jì)算語(yǔ)言,SAS提供了多種概率分布的有關(guān)函數(shù)。分布密度、概率、累積分布函數(shù)等可以通過(guò)幾種統(tǒng)一的格式調(diào)用,格式為:

分布函數(shù)值

=CDF('

分布',x<,

參數(shù)表>);

密度值

=PDF('

分布',x<,

參數(shù)表>);

概率值

=PMF('

分布',x<,

參數(shù)表>);

對(duì)數(shù)密度值

=LOGPDF('

分布',x<,

參數(shù)表>);

對(duì)數(shù)概率值

=LOGPMF('

分布',x<,

參數(shù)表>);

CDF計(jì)算由'分布'指定的分布的分布函數(shù),

PDF計(jì)算分布密度函數(shù)值,PMF計(jì)算離散分布的分布概率,LOGPDF為PDF的自然對(duì)數(shù),LOGPMF為PMF的自然對(duì)數(shù)。函數(shù)在自變量

x處計(jì)算,<,

參數(shù)表>表示可選的參數(shù)表。

分布類(lèi)型取值可以為:BERNOULLI,BETA,BINOMIAL,CAUCHY,CHISQUARED,EXPONENTIAL,F,GAMMA,GEOMETRIC,HYPERGEOMETRIC,LAPLACE,LOGISTIC,LOGNORMAL,NEGBINOMIAL,NORMAL

GAUSSIAN,PARETO,POISSON,T,UNIFORM,WALD

IGAUSS,andWEIBULL??梢灾粚?xiě)前四個(gè)字母。

例:PDF('NORMAL',1.96)計(jì)算標(biāo)準(zhǔn)正態(tài)分布在1.96處的密度值(0.05544),CDF('NORMAL',1.96)計(jì)算標(biāo)準(zhǔn)正態(tài)分布在1.96處的分布函數(shù)值(0.975)。PMF對(duì)連續(xù)型分布即PDF。

除了用上述統(tǒng)一的格式調(diào)用外,SAS還單獨(dú)提供了常用的分布的密度、分布函數(shù)。

10.1PROBNORM(x)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論