SAS 學(xué)習(xí)

SAS讀取數(shù)據(jù)的規(guī)則是遇到空格時默認(rèn)該數(shù)據(jù)讀取完畢祈餐,除非是指定了數(shù)據(jù)寬度時,則以寬度值來確定數(shù)據(jù);冒號的作用是告訴SAS,如果要讀取下一個變量,需要滿足下面任一條件:要么遇到空格橘忱,要么變量的寬度讀完了。

data fh;
input city $18. zone $;
cards;
山東省蓬萊市 0536
山東省威海市乳山市 0532
;
proc print;
run;

data fh;
input city :$18. zone $;
cards;
山東省蓬萊市 0536
山東省威海市乳山市 0532
;
proc print;
run;

使用if_then語句創(chuàng)建新變量

data lx;
input id lx$;
lx1 = lx in ("有效","顯效","痊愈");
if lx in ("有效","顯效","痊愈") then lx2 = "有效";else lx2 = "無效";
datalines;
1 顯效
2 有效
3 無效
4 痊愈
;
proc print;
run;

retain 語句

data a1;
retain a 0; /告訴SAS a 的初始值谚咬,以便a = a+1表達(dá)式使用/
a = a+1;
input wt ht;
datalines;
60 170
55 166
73 162
;
proc print;
run;

do循環(huán)語句

do 變量=初始值 to 最終值 <by 增加量>
SAS語句
end

  • do i = 1 to 10;
  • do i = 1 to 10 by 2;

data fh;
do count = 1 to 5;
input time;
output;
end;
datalines;
23
29
49
64
87
;
proc print;
run;

SAS中有一個規(guī)則:字符串變量的長度是由第一個遇到的值的長度決定的鹦付,而且字符變量一旦產(chǎn)生,他的長度就無法改變择卦。

data age;
do id = 1 to 4;
input birth:yymmdd10. death:yymmdd10.;
age = (death - birth)/365;
if age < 60 then age1 = 50;
else if age < 70 then age1 = 60;
else age1 = 70;
format birth death yymmdd10.;
output;
end;
datalines;
1954-12-06 2014-02-03
1938-02-18 2014-01-17
1947-07-10 2014-01-11
1943-08-21 2014-03-03
;
run;

SAS 函數(shù)應(yīng)用技巧

image.png

與字符有關(guān)的函數(shù)

image.png

image.png

例子:身份證倒數(shù)第二位表示性別,奇數(shù)為男郎嫁,偶數(shù)為女秉继。
data iden;
input iden:$18.;
if length(iden) = 18 then gen = substrn(iden,17,1);
else gen = substrn(iden,15,1);
if mod(gen,2) = 1 then gender = "男";
else gender = "女";
datalines;
34082319920902371X
360533801215792
360533198208254533
360533851009226
;
proc print;
run;
新版身份證號為18位,老版的則為16位泽铛。
image.png

這兩個函數(shù)在查找多個字符的時候有很大差異:對于多個字符的查找尚辑,find必須是所有字符都完全匹配才算找到,而findc只要找到字符中的任意一個就算找到盔腔。
data book;
input book: & $100.;
sas = find(book,'sas','i');
if sas >0 then class = 'SAS書';
else class = '其他書';
datalines;
Survival Analysis Using SAS
MATLAB 程序設(shè)計
SPSS數(shù)據(jù)分析
SAS應(yīng)用分析
The Little SAS book
;
proc print;
run;

data computer;
input type$@@;
alpha = anyalpha(type);
digit = anydigit(type);
xh = substrn(type,alpha,digit-alpha);
bh = substrn(type,digit,length(type)-digit+1);
datalines;
TP340 KB320 B3519 C560 H430 LLL
;
proc print;
run;


image.png

data lx;
input id lx$;
lx1 = tranwrd(lx,"顯效","有效");
lx1 = tranwrd(lx1,"痊愈","有效");
datalines;
1 顯效
2 有效
3 無效
4 痊愈
;
proc print;
run;


image.png

data computer;
input type$@@;
xh = compress(type,,'d');
bh = compress(type,,'a');
cards;
TP320 KS230 B3214 HJ234 H324
;
proc print;
run;
image.png

data code;
input prov$ city$ country$;

code1 = cats(prov,city,country);
code2 = catx("-",prov,city,country);
code3 = prov||city||country; /*常規(guī)的連接符*/
cards;
37 05 02
37 02 21
37 06 85
;
proc print;
run;

image.png

data cloth;
input pj&:$1000.;
beauty = count(pj,"漂亮");
datalines;
裙子很漂亮杠茬,穿起來有仙女的感覺
裙子很喜歡,很漂亮弛随,不知道面料牢固不牢固
裙子很漂亮
裙子很飄逸
面料柔軟舒適瓢喉,很飄逸
很漂亮,超喜歡這顏色
質(zhì)量一般舀透,沒想象中的好
很大方栓票,不足之處是,透氣性不是很好
;
proc print;
run;


image.png

與時間和日期有關(guān)的函數(shù)

image.png

data date;
input year1$ month1$ day1$ year2$ month2$ day2$;
date1 = mdy(month1,day1,year1);
date2 = mdy(month2,day2,year2);
format date1 date2 yymmdd10.;
ydif = yrdif(date1,date2,"actual");
ddif = datdif(date1,date2,"actual");
datalines;
2013 05 21 2014 03 11
2013 03 10 2014 01 22
2013 06 05 2014 05 06
2013 07 07 2014 04 13
;
proc print;
run;


image.png

SAS中有兩個函數(shù)式專門用于變量類型之間轉(zhuǎn)換的愕够,input函數(shù)主要用于把字符型轉(zhuǎn)為數(shù)值型走贪,put函數(shù)主要用于把數(shù)值型轉(zhuǎn)為字符型。

image.png

data date;
input year1$ month1$ day1$ year2$ month2$ day2$;
date1 = catx("/",year1,month1,day1);
date2 = catx("/",year2,month2,day2);
d1 = input(date1,yymmdd10.);
d2 = input(date2,yymmdd10.);
format d1 d2 yymmdd8.;
datalines;
2013 05 21 2014 03 11
2013 03 10 2014 01 22
2013 06 05 2014 05 06
2013 07 07 2014 04 13
;
proc print;
run;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末惑芭,一起剝皮案震驚了整個濱河市坠狡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌遂跟,老刑警劉巖逃沿,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件婴渡,死亡現(xiàn)場離奇詭異,居然都是意外死亡感挥,警方通過查閱死者的電腦和手機碉纺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來馋评,“玉大人恨闪,你說我怎么就攤上這事≈们” “怎么了堂鲤?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長媒峡。 經(jīng)常有香客問我瘟栖,道長,這世上最難降的妖魔是什么谅阿? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任半哟,我火速辦了婚禮,結(jié)果婚禮上签餐,老公的妹妹穿的比我還像新娘寓涨。我一直安慰自己,他們只是感情好氯檐,可當(dāng)我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布戒良。 她就那樣靜靜地躺著,像睡著了一般冠摄。 火紅的嫁衣襯著肌膚如雪糯崎。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天河泳,我揣著相機與錄音沃呢,去河邊找鬼。 笑死乔询,一個胖子當(dāng)著我的面吹牛樟插,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播竿刁,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼黄锤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了食拜?” 一聲冷哼從身側(cè)響起鸵熟,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎负甸,沒想到半個月后流强,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體痹届,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年打月,在試婚紗的時候發(fā)現(xiàn)自己被綠了队腐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡奏篙,死狀恐怖柴淘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情秘通,我是刑警寧澤为严,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站肺稀,受9級特大地震影響第股,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜话原,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一夕吻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧繁仁,春花似錦梭冠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蔓倍。三九已至悬钳,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間偶翅,已是汗流浹背默勾。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留聚谁,地道東北人母剥。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像形导,于是被迫代替她去往敵國和親环疼。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 第二章 將你的數(shù)據(jù)放入SAS(2.1-2.11) 2.1 將你的數(shù)據(jù)放入SAS的方法 你可能有各種形式的數(shù)據(jù)朵耕,包括...
    胡阿白閱讀 416評論 0 2
  • 在SAS中對數(shù)據(jù)的處理可分為兩大步驟:1.將數(shù)據(jù)讀入SAS建立的SAS數(shù)據(jù)集炫隶,稱為數(shù)據(jù)步;2.調(diào)用SAS的模塊處理...
    李源源yyL閱讀 1,307評論 0 1
  • 2.12 一行有多個觀測值的原始文件讀取 當(dāng)一行出現(xiàn)多個觀測值時阎曹,可以在input語句結(jié)尾加一個停止符號@@ 例子...
    胡阿白閱讀 569評論 0 1
  • The Little SAS Book 閱讀筆記: 第一章 SAS軟件入門 1.1 SAS語言 許多軟件要么是菜單...
    胡阿白閱讀 628評論 1 5
  • 完了,我又闖禍了! 在今天之前我都覺得生活是美好的栅贴,可是今晚之后我覺得我的世界已經(jīng)烏云密布斟湃。 夜跑結(jié)束想給老爸打一...
    向行閱讀 342評論 8 7