2012-09-15 71 views
2

我需要將數據從European Social Survey databank導入SAS。 我不是很擅長使用SAS,所以我只是天真地嘗試導入一個文本文件,但它將所有文件存儲在一個變量中。從歐洲社會調查導入數據

有人可以幫我做什麼?由於在他們的網頁上似乎沒有指南,我認爲它必須非常容易。

它可以免費註冊(需要5秒),我需要丹麥的所有可能的數據。

編輯:當下載他們所謂的SAS文件時,我得到的是一個巨大的proc格式和與選擇文本相同的文本文件。 文本文件中的數據不是用逗號分隔的,第一行不包含變量名稱。

回答

3

以SAS格式下載。將文本文件保存在您可以記住的位置,然後打開SAS文件。這不僅僅是一個大的proc格式。這是一個很大的proc格式,然後是帶有輸入代碼的datastep。它可能是由SPSS創建的(它無論如何都適合SPSS保存的.sas文件的模式)。尋找:

DATA OUT.ESS1_4e01_0_F1; 

或類似的東西(這就是當我下載它)。這可能大約是頁面下方的3/4。你只需要改變代碼:

INFILE 'ESS1_4e01_0_F1.txt'; 

或類似的,是你放置在文本文件的目錄中創建了一個LIBNAME是去哪裏要永久保存這個,做那個在.sas文件的開始,像這樣替換前3行。

原:

LIBNAME LIBRARY ''; 
LIBNAME OUT ''; 
PROC FORMAT LIBRARY=LIBRARY ; 

改變這些到:

libname out "c:\mystuff\"; *but probably not c:\mystuff :); 
options fmtsearch=(out); 
proc format lib=out; 

然後運行整個事情。

如果您想要格式化的值(值標籤)和變量標籤,這是最好的解決方案。如果你不關心這一點,那麼像鮑勃展示的那樣處理CSV可能會更容易。

+0

謝謝謝謝謝謝謝謝!這正是我需要的。你是我的英雄! – Henrik

3

但是網站上說yu可以下載SAS格式,爲什麼不呢?

如果全部進入一列,則需要分隔符。

data temp; 
length ...; 
infile 'file.csv' dlm=','; 
input ...; 
run; 
+0

網站引用的「SAS」格式不是.sas7bdat文件,而是一個文本文件加上SAS輸入代碼和格式/標籤代碼。 – Joe

1

正如Dirk所說,該網站稱您可以直接下載SAS數據集。但是,如果出於某種原因您不想這樣做,請選擇逗號分隔文件(CSV)並使用PROC IMPORT。這裏是一個例子:

proc import out=some_data 
    datafile='c:\path\somedata.csv' 
    dbms=csv replace; 
    getnames=yes; 
run; 

當然,這假設第一行包含列名。

+0

網站引用的「SAS」格式不是.sas7bdat文件,而是文本文件加SAS輸入代碼和格式/標籤代碼。 – Joe