SAS 中最常用的一些功能(一)

編程語言是技能薇芝,其中有一些部分掌握了之后蓬抄,就更容易有了一個(gè)基本的框架,再去學(xué)習(xí)其它的知識(shí)和功能就更輕松一些夯到。有一個(gè)很常見的比喻是:編程學(xué)習(xí)是拼圖嚷缭,拼圖中比較重要的是先拼出整個(gè)圖的框架,之后每一塊的位置才能夠明確的定位黄娘,進(jìn)而形成一個(gè)完整的圖案峭状。

下面提到的這些功能或者知識(shí)點(diǎn)克滴,就可以理解成我在學(xué)習(xí)過程中的第一個(gè)框架逼争。

1. Keep 和 Drop

使用這兩個(gè)命令來選擇想要保留或者舍棄的變量。

在Data Step中劝赔,DROP variable-list 可以刪除變量誓焦,類似的,使用KEEP variable-list 來保留變量着帽。舉例:

Data Test;
Set work.name;
Drop Full_name Gender;
Run;

Test這個(gè)數(shù)據(jù)集將保存work.name這個(gè)數(shù)據(jù)集的所有行杂伟,但是舍棄掉Full_name和Gender這兩個(gè)變量。

Keep和Drop也可以作為Option使用仍翰。 在Data和Set命令中都可以應(yīng)用:DATA output-SAS-Data-set (DROP = variable-list);SET input-SAS-data-set (KEEP = variable-list); 來實(shí)現(xiàn)對(duì)于變量的取舍赫粥,比如:
?

Data Test(Drop = Full_name Gender);
Set work.name;
Run;
 
Data Test;
Set work.name (Drop = Full_name Gender);
Run;

上面兩個(gè)Data Step 將會(huì)和第一個(gè)同樣的結(jié)果。

2. 導(dǎo)入數(shù)據(jù)

導(dǎo)入數(shù)據(jù)有幾種方法予借,可以使用INFILE命令越平,也可以使用Proc Import

使用INFILE命令

INFILE '<external-file>' DLM=',' <Options>

  • 如果數(shù)據(jù)是外部文件的話灵迫,那么exernal-file就是外部文件的路徑
  • DLM是分隔符秦叛,也就是數(shù)據(jù)使用什么作為分隔的,比如可以指定DLM='|'
  • Option中可以使用DSD瀑粥,作用是
    1. 把分隔符設(shè)定為‘挣跋,’;
    2. 如果有兩個(gè)連續(xù)逗號(hào)狞换,保留一個(gè)空值避咆;
    3. 如果數(shù)值有引號(hào)舟肉,移除;
  • MISSOVER 的作用是如果數(shù)據(jù)不能填滿一行的話查库,則全部計(jì)為空置度气;
  • FIRSTOBS=n可以告訴SAS從哪一行開始讀取數(shù)據(jù);

在INFILE之后膨报,還要使用Format和Informat命令來設(shè)定數(shù)據(jù)的Format和Informat磷籍,使用Input的命令區(qū)分?jǐn)?shù)據(jù)的類型,是字符型還是數(shù)字型现柠。

例子:

  Data Test;
    NFILE "C:\User\Admin\Desktop\Learing\Sample.csv" DLM=',' DSD MISSOVER FIRSTOBS=2 LRECL=32760;
    FORMAT Personal_id $6.
           Gender      $1.
           Account     Best12.;
    INFORMAT Personal_id $6.
             Gender      $1.
             Account     Best12.;  
    Input Personal_id $
          Gender      $
          Account       ;
   Run;

導(dǎo)入路徑下的一個(gè)csv文件院领,有三個(gè)變量,其中Personal_id和Gender是字符型變量够吩,Account是數(shù)字型變量比然。

使用Proc Import

這個(gè)命令更多用于EXCEL文件的導(dǎo)入,直接看例子:

Proc Import DATAFILE = "C:\User\Admin\Desktop\Learing\Sample.xlsx"
            OUT = DATA
            DBMS = EXCEL REPLACE;
  SHEET = "SHEET1$";
  GETNAMES=YES;
  SCANTEXT=YES;
Run;
  • DATAFILE后面接文件的路徑
  • OUT后面寫導(dǎo)入的數(shù)據(jù)集的名稱
  • DBMS指導(dǎo)入的引擎周循,如果是EXCEL文件强法,則寫EXCEL REPLACE
  • SHEET 顧名思義,導(dǎo)入的Sheet的名字湾笛,注意名字后面要加一個(gè)$
  • GETNAMES是是否從第一列從讀取變量名稱饮怯;
  • SCANTEXT設(shè)置是否掃描整列,并選取最長(zhǎng)的字節(jié)為變量的length
  • RANGE例子中沒寫嚎研,這里提一下 RANGE='SHEET1$A1:I12';可以實(shí)現(xiàn)只導(dǎo)入Excel文件特定的列蓖墅;

3. 一些常用Functions

一些具體的用法不再贅述

字符處理類:

  • SCAN() 提取單詞
  • SUBSTR()提取字符
  • UPCASE()大寫
  • PROPCASE()首字母大寫
  • LENGTH設(shè)定長(zhǎng)度
  • CATX()連接字符
  • INPUT()字符型轉(zhuǎn)成數(shù)字型
  • PUT()數(shù)字型轉(zhuǎn)成字符型

時(shí)間類

  • Year()提取年
  • QTR()提取季度
  • Month()提取月
  • Day()提取日
  • Weekday()提取周幾
  • today()今天日期值
  • mdy(m,d,y)某一天的日期值

計(jì)算類

  • Sum()求和
  • MEAN()求均值
  • MEDIAN()求中位數(shù)
  • SQRT()開平方根
  • ABS()求絕對(duì)值
  • MAX()最大值
  • LOG()對(duì)數(shù)
  • EXP()指數(shù)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市临扮,隨后出現(xiàn)的幾起案子论矾,更是在濱河造成了極大的恐慌,老刑警劉巖杆勇,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贪壳,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡蚜退,警方通過查閱死者的電腦和手機(jī)闰靴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來关霸,“玉大人传黄,你說我怎么就攤上這事《涌埽” “怎么了膘掰?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我识埋,道長(zhǎng)凡伊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任窒舟,我火速辦了婚禮系忙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘惠豺。我一直安慰自己银还,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布洁墙。 她就那樣靜靜地躺著蛹疯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪热监。 梳的紋絲不亂的頭發(fā)上捺弦,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音孝扛,去河邊找鬼列吼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛苦始,可吹牛的內(nèi)容都是我干的寞钥。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼盈简,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼凑耻!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起柠贤,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎类缤,沒想到半個(gè)月后臼勉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡餐弱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年宴霸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片膏蚓。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瓢谢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出驮瞧,到底是詐尸還是另有隱情氓扛,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站采郎,受9級(jí)特大地震影響千所,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蒜埋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一淫痰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧整份,春花似錦待错、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至础倍,卻和暖如春烛占,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背沟启。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國打工忆家, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人德迹。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓芽卿,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親胳搞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子卸例,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

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