将SAS数据集导出为CSV时保存列说明

时间:2014-11-18 20:10:36

标签: r csv sas export-to-csv

我已经获得了SAS数据,我想将其导出为CSV,以便我可以使用R进行分析。我从未使用过SAS,但我找到了Efficiently convert a SAS dataset into a CSV,其中介绍了如何使用以下代码转换为CSV:

proc export data=sashelp.class outfile='c:\temp\sashelp class.csv' dbms=csv replace; run;

这很有效,但是我注意到我最终得到了我在CSV中调用短列名称的内容,而当我查看SAS中的数据时,我会看到冗长,详细的列描述(即使用SAS软件)。

我想以编程方式将这些列描述保存到txt文件中,以便我可以将它们读入R矢量。换句话说,我很高兴我的CSV标题中有短列名称(即我的CSV的第一行),但我还想要第二个文件,只有一行,包含更长的列描述。我怎么做?我用Google搜索,并没有发现任何有用的信息。

举一个例子,我在SAS中看到的长列描述可能类似于&#34;坦桑尼亚的大象数量#34;,相应的短列名称为&#34; ElephTanz&#34;。< / p>

1 个答案:

答案 0 :(得分:3)

您可以使用SAS“词典”库来访问此类信息。以下代码创建了一个表work.column_labels,其中包含两列:您看到的“短名称”以及在SAS中查看数据时显示的较长标签。 (请注意,sashelp.class数据不会在此特定示例中标记列,而第二列将为空。)

proc sql;
    create table work.column_lables as
    select Name,label
    from dictionary.columns
    where libname = 'SASHELP'
        and memname = 'CLASS';
quit;

然后,您可以使用与您已有的代码类似的代码将此表导出到csv。