我已经获得了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>
答案 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。