0

我有一个 SAS 数据集chapter5.pressure,我通过打印它验证了它是好的proc print

                               Obs    SBPbefore    SBPafter

                                 1       120          128
                                 2       124          131
                                 3       130          131
                                 4       118          127
                                 5       140          132
                                 6       128          125
                                 7       140          141
                                 8       135          137
                                 9       126          118
                                10       130          132
                                11       126          129
                                12       127          135

所以,我想把它导出到.dat文件中,下面的方法不起作用:

libname chapter5 'c:\users\owner\desktop\sas\chapter5';

data _null_;
set chapter5.pressure;
file 'c:\users\owner\desktop\sas\chapter5\xxx.dat';
put a b ;
run;

结果文件包含所有缺失值。为什么

4

2 回答 2

3

除了使用put语句,您还可以使用PROC EXPORT从 SAS 数据集创建分隔文件:

PROC EXPORT 
     DATA=chapter5.pressure
     OUTFILE='c:\users\owner\desktop\sas\chapter5\xxx.dat' 
     DBMS=DLM
     REPLACE;
RUN;

默认分隔符是空白,它应该与您尝试执行的操作相匹配。要创建制表符或逗号分隔文件,请将 DBMS 选项值分别更改为TABCSV。这将在外部文件中创建一个标题行。这是 SAS 9.2 文档的链接。如果您使用不同的版本,请查看 SAS 支持站点。

于 2013-10-06T02:41:51.617 回答
3

尝试使用变量名而不是“a”和“b”。

data _null_;
set chapter5.pressure;
file 'c:\users\owner\desktop\sas\chapter5\xxx.dat';
put SBPbefore SBPafter;
run;
于 2013-10-06T01:02:56.630 回答