SAS常用函式大全

2021-08-06 04:17:44 字數 4877 閱讀 7465

一、數學函式

abs(x) 求x的絕對值。

max(x1,x2,…,xn) 求所有自變數中的最大乙個。

min(x1,x2,…,xn) 求所有自變數中的最小乙個。

mod(x,y) 求x除以y的餘數。

sqrt(x) 求x的平方根。

round(x,eps) 求x按照eps指定的精度四捨五入後的結果,比如round(5654.5654,0.01) 結果為5654.

57,round(5654.5654,10)結果為5650。

ceil(x) 求大於等於x的最小整數。當x為整數時就是x本身,否則為x右邊最近的整數。

floor(x) 求小於等於x的最大整數。當x為整數時就是x本身,否則為x左邊最近的整數。

int(x) 求x扔掉小數部分後的結果。

fuzz(x) 當x與其四捨五入整數值相差小於1e-12時取四捨五入。

log(x) 求x的自然對數。

log10(x) 求x的常用對數。

exp(x) 指數函式 。

sin(x), cos(x), tan(x) 求x的正弦、余弦、正切函式。

arsin(y) 計算函式y=sin(x)在區間的反函式,y取[-1,1]間值。

arcos(y) 計算函式y=cos(x)在的反函式,y取[-1,1]間值。

atan(y) 計算函式y=tan(x)在的反函式,y取間值。

sinh(x), cosh(x), tanh(x) 雙曲正弦、余弦、正切

erf(x) 誤差函式

gamma(x) 完全函式

此外還有符號函式sign,函式一階導數函式digamma,二階導數函式trigamma ,誤差函式餘函式erfc,函式自然對數lgamma,ordinal函式,airy 函式,dairy函式,bessel函式jbessel,修正的bessel函式ibessel,等等。

二、陣列函式

陣列函式計算陣列的維數、上下界,有利於寫出可移植的程式。陣列函式包括:

dim(x) 求陣列x第一維的元素的個數(注意當下界為1時元素個數與上界相同,否則元素個數不一定與上界相同)。

dim k(x) 求陣列x第k維的元素的個數。

lbound(x) 求陣列x第一維的下界。

hbound(x) 求陣列x第一維的上界。

lbound k(x) 求陣列x第 k維的下界。

hbound k(x) 求陣列x第 k維的上界。

三、字元函式

較重要的字元函式有:

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

upcase(s) 把字串s中所有小寫字母轉換為大寫字母後的結果。

lowcase(s) 把字串s中所有大寫字母轉換為小寫字母後的結果。

index(s,s1) 查詢s1在s中出現的位置。找不到時返回0。

rank(s) 字元s的ascii碼值。

byte(n) 第n個ascii碼值的對應字元。

repeat(s,n) 字元表示式s重複n次。

substr(s,p,n) 從字串s中的第p個字元開始抽取n個字元長的子串

tranwrd(s,s1,s2) 從字串s中把所有字串s1替換成字串s2後的結果。

其它字元函式還有 collate,compress,indexc,left,length,reverse,right,scan ,translate,verify,compbl,dequote,indexw,quote,soundex,trimn,indexw。

四、日期和時間函式

常用日期和時間函式有:

mdy(m,d,yr) 生成yr年m月d日的sas日期值

year(date) 由sas日期值date得到年

month(date) 由sas日期值date得到月

day(date) 由sas日期值date得到日

weekday(date) 由sas日期值date得到星期幾

qtr(date) 由sas日期值date得到季度值

hms(h,m,s) 由小時h、分鐘m、秒s生成sas時間值

dhms(d,h,m,s) 由sas日期值d、小時h、分鐘m、秒s生成sas日期時間值

datepart(dt) 求sas日期時間值dt的日期部分

intnx(interval,from,n) 計算從from開始經過n個in間隔後的sas日期。其中interval 可以取'year'、'qtr'、'month'、'week'、'day'等。比如,intnx('month', '16dec1997'd, 3)結果為2023年3月1日。

注意它總是返回乙個週期的開始值。

intck(interval,from,to) 計算從日期from到日期to中間經過的interval間隔的個數,其中interval取'month'等。比如,intck('year', '31dec1996'd, '1jan1998'd)計算2023年12 月31日到2023年1月1日經過的年間隔的個數,結果得2,儘管這兩個日期之間實際只隔1年。

其它日期和時間函式還有date、today、datetime、datejul、juldate、 hour、minute、second 、time、timepart等。詳見《sas系統-base sas軟體使用手冊》、《sas系統-sas/ets軟體使用手冊》。

五、分布密度函式、分布函式

作為乙個統計計算語言,sas提供了多種概率分布的有關函式。分布密度、概率、累積分布函式等可以通過幾種統一的格式呼叫,格式為

分布函式值 = cdf(' 分布', x <, 參數列》);

密度值 = pdf(' 分布', x <, 參數列》);

概率值 = pmf(' 分布', x <, 參數列》);

對數密度值 = logpdf(' 分布', x <, 參數列》);

對數概率值 = logpmf(' 分布', x <, 參數列》);

cdf計算由'分布'指定的分布的分布函式, pdf計算分布密度函式值,pmf計算離散分布的分布概率,logpdf為pdf的自然對數,logpmf為pmf的自然對數。函式在自變數 x處計算,<, 參數列》表示可選的參數列。

分布型別取值可以為: bernoulli, beta, binomial, cauchy, chisquared, exponential, f, gamma, geometric, hypergeometric, laplace, logistic, lognormal, negbinomial, normal 或 gaussian, pareto, poisson, t, uniform, wald 或 igauss, and weibull。可以只寫前四個字母。

例如,pdf('normal', 1.96)計算標準正態分佈在1.96處的密度值(0.

05844),cdf('normal', 1.96)計算標準正態分佈在1.96處的分布函式值(0.

975)。pmf對連續型分布即pdf。

除了用上述統一的格式呼叫外,sas還單獨提供了常用的分布的密度、分布函式。

probnorm(x) 標準正態分佈函式

probt(x,df<,nc>) 自由度為df的t分布函式。可選引數nc為非中心引數。

probchi(x,df<,nc>) 自由度為df的卡方分布函式。可選引數nc為非中心引數。

probf(x,ndf,ddf<,nc>) f(ndf,ddf)分布的分布函式。可選引數nc為非中心引數。

probbnml(p,n,m) 設隨機變數y服從二項分布b(n,p),此函式計算p(y m)。

poisson((lambda,n) 引數為lambda的poisson分布y n的概率。

probnegb(p,n,m) 引數為(n,p)的負二項分布y m的概率。

probhypr(n,k,n,x<,r>) 超幾何分布的分布函式。設n個產品中有k個不合格品,抽取n個樣品,其中不合格品數小於等於x的概率為此函式值。可選引數r是不勻率,預設為1 ,r代表抽到不合格品的概率是抽到合格品概率的多少倍。

probbeta(x,a,b) 引數為(a,b)的beta分布的分布函式。

probgam(x,a) 引數為a的gamma分布的分布函式。

probmc 計算多組均值的多重比較檢驗的概率值和臨界值。

probbnrm(x,y,r) 標準二元正態分佈的分布函式,r為相關係數。

六、分位數函式

分位數函式是概率分布函式的反函式。其自變數在0到1之間取值。分位數函式計算的是分布的左側分位數。sas提供了六種常見連續型分布的分位數函式。

probit(p) 標準正態分佈左側p分位數。結果在-5到5之間。

tinv(p, df <,nc>) 自由度為df的t分布的左側p分位數。可選引數nc為非中心引數。

cinv(p,df<,nc>) 自由度為df的卡方分布的左側p分位數。可選引數nc為非中心引數。

finv(p,ndf,ddf<,nc>) f(ndf,ddf)分布的左側p分位數。可選引數nc為非中心引數。

gaminv(p,a) 引數為a的伽馬分布的左側p分位數。

betainv(p,a,b) 引數為(a,b)的貝塔分布的左側p分位數。

七、隨機數函式

sas可以用來進行隨機模擬。它提供了常見分布的偽隨機數生成函式。

1.均勻分布隨機數

有兩個均勻分布隨機數函式:uniform(seed),seed必須是常數,為0,或5位、6位、 7位的奇數。ranuni(seed),seed為小於2**31-1的任意常數。

在同乙個資料步中對同乙個隨機數函式的多次呼叫將得到不同的結果,但不同資料步中從同一種子出發將得到相同的隨機數序列。隨機數種子如果取0或者負數則種子採用系統日期時間。

2.正態分佈隨機數

有兩種,normal(seed),seed為0,或5位、6位、7位的奇數。 rannor(seed),seed為任意數值常數。

3.指數分布隨機數

ranexp(seed),seed為任意數值,產生引數為1的指數分布的隨機數。引數為 lambda的指數分布可以用ranexp(seed)/lambda得到。

excel常用函式

函式 1 mid函式 mid函式是excel中乙個強大的輔助函式,作用是從指定字串中指定位置提取指定個數字元。mid函式語法 mid text,start num,num chars text表示指定的字串,一般為引用的單元格 start num表示指定位置 num chars表示指定個數 例 在a...

vf常用函式

數值函式 1.絕對值和符號函式 格式 abs 數值表達 sign 數值表達 例如 abs 5 5,abs 4 4,sign 8 1,sign 3 1,sign 0 0 2.求平方根表示式 格式 sqrt 數值表達 例如 sqrt 16 4,它與開二分之一次方等同。3.圓周率函式 格式 pi 4.求整...

常用成語大全

公文寫作常用成語大全 歸納為48類 一 描寫人的品質 平易近人寬巨集大度冰清玉潔持之以恆鍥而不捨廢寢忘食大義凜然臨危不俱光明磊落不屈不撓鞠躬盡瘁死而後已 二 描寫人的智慧型 料事如神足智多謀融會貫通學貫中西博古通今才華橫溢出類拔萃博大精深集思廣益舉一反三 三 描寫人物儀態 風貌 憨態可掬文質彬彬風度...