【发布时间】:2017-07-01 02:40:19
【问题描述】:
我正在使用以下代码使用 SAS 进行 PCA 分析:
ods output Eigenvectors=PRINCEEV Eigenvalues=PRINCEEVAL;
proc princomp data=REPLACED PLOTS=SCORE(ELLIPSE NCOMP=5) NOPRINT;
id time;
run;
ods output close;
由于此分析生成的 lst 文件太大,我使用了 NOPRINT 选项。但是,似乎 NOPRINT 选项也消除了我所有的 ODS 输出。 (现在 PRINCEEV 和 PRINCEEVAL 都是空的):
ERROR: File WORK.PRINCEEVAL.DATA does not exist.
ERROR: Export unsuccessful. See SAS Log for details.
259 putn
_______
1
259 ! ame=YES; run;
WARNING 1-322: Assuming the symbol PUTNAMES was misspelled as putname.
ERROR: File WORK.PRINCEEV.DATA does not exist.
ERROR: Export unsuccessful. See SAS Log for details.
ERROR: Errors printed on page 1.
有没有办法在不影响ods输出的情况下抑制lst文件的生成?
更新:
根据following sas blog看来是不可能的:
你能把 NOPRINT 和 ODS OUTPUT 结合起来吗?
SAS 程序员渴望效率。阅读 NOPRINT 选项后 可以使程序运行得更快,雄心勃勃的程序员可能 尝试使用 NOPRINT 选项运行过程,但使用 ODS OUTPUT 语句捕获一张表的结果。对不起朋友, 但你不能那样做。 NOPRINT 选项意味着没有 ODS 表 已创建,因此无法选择表并将其保存到数据中 设置。
但问题是,我在云计算服务器上的空间有限。 lst 文件除了浪费我的空间外什么也没做。当 SAS 程序与外部进程一起运行时删除 lst 文件也会在 SAS 中产生一个io error(我已经尝试过了)。
还有吗?
【问题讨论】:
标签: sas