SAS入門3

SAS入門2回顧:

1、proc format語句:

invalue<$>格式名 變量或范圍=輸入格式;

value<$>格式名 變量或范圍=輸出格式;

2、設置變量長度:length語句(由第一個變量的值決定)

例:

data eva;

length bonus $5.;

input id g bonus$;

if g<70 then eva="合格"; elseeva="不合格";

eva=bonus;

cards;

注:“字符變量一旦產(chǎn)生,它的長度就無法改變”。



一、與數(shù)值有關的函數(shù)

mod(x,y)? ?返回x除以y的余數(shù)

abs(x)? ?返回x的絕對值

exp(x)? ? 返回x的指數(shù)值

log(x)? ? 返回x的自然對數(shù)值

log10(x)? ?返回x的以10為底的對數(shù)值

sqrt(x)? ? 返回x的平方根

ceil(x)? ? 返回≥x的最小整數(shù)

floor(x)? ? 返回≤x的最大整數(shù)

int(x)? ? 返回x的整數(shù)部分

例:

data aa;

input x;

sx=sqrt(x);? lx=log(x);

cards;

二、與統(tǒng)計有關的函數(shù)

函數(shù)(x1,x2,x3,…xn)或函數(shù)(of x1-xn)

例:


三、與字符有關的函數(shù)

1、更改字母大小寫

upcase(變量或字符串);? 作用是將所有字母改為大寫。

lowcase(變量或字符串);?? 作用是將所有字母改為小寫。

例:gender=lowcase(gender);

2、變量或字符串的連接:

例:

3、計算變量或字符串的長度:

lengthn(變量或字符串)、空值返回為0

例:

data code;

input name&:$50. gender:$;????????

len1=lengthn(name);

len2=lengthn(gender);

4、提取變量或字符串中的字符

substrn(變量,起始位置,提取長度)

例:

*根據(jù)身份證確定出生日期

5、查找變量或字符串中的字符

find(變量或字符串,查找內(nèi)容,起始位置) /*忽略大小寫,所有字符完全匹配*/

findc(變量或字符串,查找內(nèi)容,起始位置)/*忽略大小寫,部分字符匹配*/

例:

type1=find(tp,"int","i");????? /*在變量tp中查找完整的int,忽略大小寫*/

type2=findc(tp,"int","i");???? /*在變量tp中查找int中任一字母,忽略大小寫*/

6、去除變量或字符串中的字符

ccompress(變量或字符串,欲去除的字符,修飾符)

四種修飾符:

a,去掉變量或字符串中的所有字母

d,去掉變量或字符串中的所有數(shù)字

s,去掉變量或字符串中的所有空格

i,忽略大小寫

7、替換變量或字符串中的字符

tranwrd(變量或字符串,查找值,替換值)

例:

input id dose&:$30.;? ?/*dose變量包含空格,因此加上&符號*/

dose1=tranwrd(dose,"口服","PO");? /*將“口服”替換為“PO”*/

cards;

8、查找缺失值

missing(變量)/*”是“--->1 ;? "不是"-->0

例:

mgender=missing(gender); /*判斷gender是否有缺失*/

mage=missing(age);?????????? /*判斷age是否有缺失 */

四、與日期有關的函數(shù)

1、日期的提取與整合

*注:mdy(月,日,年)

例:

2、日期間隔函數(shù)

yrdif(開始日期,結(jié)束日期,“actual")

例:life=yrdif(start,end);? ? /*計算兩個日期之間的實際年數(shù) */

五、與變量類型轉(zhuǎn)換有關的函數(shù)

input(變量,輸入格式)?/*字符型變量-->數(shù)值型*/

put(變量,輸出格式)/*數(shù)值型變量-->字符型*/

例:

input? sn:$10. d1:$10. d2:$10.;

sn2=input(sn,10.);? ?/*將sn按長度為10的格式轉(zhuǎn)為數(shù)值型 */

date1=input(d1,yymmdd8.);? ?/*將d1按yymmdd8.的格式轉(zhuǎn)為數(shù)值型 */

date2=input(d2,date9.);? ?/*將d2按date9.的格式轉(zhuǎn)為數(shù)值型*

proc? contents;???? /*顯示數(shù)據(jù)集convert中的變量類型*/


六、其它函數(shù)

以下兩個函數(shù)在處理動態(tài)數(shù)據(jù)、追蹤數(shù)據(jù)方面幾乎是必備的,如計算環(huán)比。

1、lag函數(shù)?:

返回指定變量的前一個(或前幾個)記錄;

2、dif函數(shù):?

返回當前記錄與前一個(或前幾個)記錄的差值。

*計算環(huán)比
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容