《The Little SAS Book》學(xué)習(xí)筆記--Chapter2(1) 常見數(shù)據(jù)導(dǎo)入方法

首先說明一下,我是個(gè)SAS小白,寫文章只是為了督促自己學(xué)習(xí),并不是SAS專家寫經(jīng)驗(yàn)帖和教程,所以疏漏在所難免。我覺得和人分享學(xué)習(xí)的知識是促進(jìn)學(xué)習(xí)的一種方式,所以才寫文章分享。


內(nèi)容參考書籍:《The Little SAS Book》中文版


原始數(shù)據(jù)來源和位置

既然要使用SAS分析數(shù)據(jù),那么第一步是要將數(shù)據(jù)導(dǎo)入到SAS中,要導(dǎo)入數(shù)據(jù)到SAS程序中,首先需要明確原始數(shù)據(jù)的來源或者位置。以下是幾種常見的SAS數(shù)據(jù)集的來源。

  • 直接在SAS中手動的輸入數(shù)據(jù)
DATA TEST;
INPUT NAME $ GENDER $ AGE HEIGHT;
CARDS;
Tom M 15 167
Jack M 18 179
Lily F 18 160
David M 17 169
;
RUN;

這是一個(gè)在SAS程序中直接輸入數(shù)據(jù)的例子,使用CARDS語句指定數(shù)據(jù)的位置,在SAS程序中的數(shù)據(jù)是程序的一部分,被稱為內(nèi)部數(shù)據(jù)CARDS語句可以使用DATALINES語句替換,不過需要注意的是,兩者都位于DATA步的最后

  • 從外部原始數(shù)據(jù)文件中導(dǎo)入
DATA test;
INFILE "d:\Mydata\test.dat";
/*需要注意,在不同系統(tǒng)中路徑書寫方式略有不同*/
INPUT NAME $ GENDER $ AGE HEIGHT;
RUN;

外部數(shù)據(jù)文件的位置使用INFILE語句進(jìn)行指定,需要注意的是,INFILE語句必須位于INPUT語句之前。

  • 轉(zhuǎn)換或者直接導(dǎo)入其它軟件中的數(shù)據(jù)為SAS數(shù)據(jù)集

使用SAS/ACCESS等產(chǎn)品或者Base SAS的一些工具從數(shù)據(jù)庫或者EXCEl等外部軟件中進(jìn)行導(dǎo)入。這些可以參考所使用的系統(tǒng)的SAS幫助文檔進(jìn)行了解。


導(dǎo)入數(shù)據(jù)的常見方法

  • VIEWTABLE窗口導(dǎo)入
    在菜單欄中選擇工具 表編輯器,一個(gè)空的類似于EXCEL表格的窗口便會打開。你可以對列屬性等進(jìn)行設(shè)置,并手動在每個(gè)表格中輸入數(shù)據(jù),然后保存表,所創(chuàng)建的表將保存在邏輯庫中。所創(chuàng)建的表可以在SAS程序中進(jìn)行使用,例如,你在邏輯庫sasuser中創(chuàng)建了一個(gè)名為test的表,現(xiàn)在在PROC步中進(jìn)行打印,
    VIEWTABLE窗口也可以用來打開現(xiàn)有的表進(jìn)行瀏覽編輯。

  • 導(dǎo)入向?qū)нM(jìn)行數(shù)據(jù)導(dǎo)入
    在Windows和Unix系統(tǒng)使用導(dǎo)入向?qū)?,可以將各種數(shù)據(jù)文件轉(zhuǎn)換成SAS數(shù)據(jù)集,導(dǎo)入向?qū)ㄟ^掃描文件內(nèi)容確定變量的類型,默認(rèn)數(shù)據(jù)的第一行作為變量名
    從菜單欄中選擇文件 導(dǎo)入向?qū)?/strong>啟動導(dǎo)入向?qū)В缓筮M(jìn)行文件類型的選擇,源文件的位置,指定文件分隔符,為所創(chuàng)建的數(shù)據(jù)集選擇SAS邏輯庫和成員名稱。需要注意的是,所選擇的邏輯庫是需要提前創(chuàng)建好的,無法在導(dǎo)入向?qū)е袆?chuàng)建邏輯庫??梢允褂肧AS窗口環(huán)境中菜單欄的新建邏輯庫選項(xiàng)和LIBNAME語句進(jìn)行創(chuàng)建。
LIBNAME libref_name "your-SAS-data-library";

  • 使用DATA步進(jìn)行數(shù)據(jù)的讀取
    在SAS程序中,使用DATA步進(jìn)行數(shù)據(jù)的讀取創(chuàng)建SAS數(shù)據(jù)集是最常見的方式,一般的語句形式:
DATA data_set_ref;
INFILE "file_pathway";
INPUT var_name1  var_name2 var_name3 var_name4 var_name5;
RUN;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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