从欧洲社会调查中导入数据

时间:2012-09-15 14:19:35

标签: sas

我需要将数据从European Social Survey databank导入SAS。 我不是很擅长使用SAS,所以我只是天真地尝试导入文本文件,但它将所有内容存储在一个变量中。

有人可以帮我做什么吗?由于他们的网页上似乎没有指南,我认为它必须非常简单。

可以免费注册(需要5秒),我需要丹麦的所有可能数据。

编辑:当下载他们称之为SAS文件的内容时,我得到的是一个巨大的proc格式和与选择文本相同的文本文件。 文本文件中的数据不是逗号分隔的,第一行不包含变量名。

3 个答案:

答案 0 :(得分:3)

但网站上说yu可以下载SAS格式,为什么不呢?

如果所有内容都进入一列,则需要一个分隔符。

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

答案 1 :(得分:3)

以SAS格式下载。将文本文件保存在您可以记住的位置,然后打开SAS文件。它不仅仅是一个大的proc格式;它是一个大的proc格式,后跟一个带输入代码的datastep。它可能是由SPSS创建的(它无论如何都符合SPSS保存的.sas文件的模式)。寻找:

DATA  OUT.ESS1_4e01_0_F1;

或类似的东西(这就是我下载时的情况)。它可能大约是页面下方的3/4。您只需要更改代码:

INFILE 'ESS1_4e01_0_F1.txt';

或类似的,作为您放置文本文件的目录。为OUT创建一个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可能更容易。

答案 2 :(得分:1)

正如Dirk所说,该网站说您可以直接下载SAS数据集。但是,如果您不想这样做,请选择逗号分隔文件(CSV)并使用PROC IMPORT。这是一个例子:

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

当然,这假设第一行包含列名。