如何使用sas proc过程步产生的结果

如何使用sas proc过程步产生的结果,获得output窗口中的结果,将output窗口中的结果转换成数据集,直接读取output窗口中结果

我们在使用SAS的proc过程步时,所产生的结果默认输出到output窗口。SAS不提供对output窗口数据的直接读取,必须要转换成数据集,并且有时还会需要数据集的变量名(尤其是中文版中的数据集显示的是label)。本文利用ods trace和proc contents 实现对proc univariate过程步的信息读取。

本文使用sashelp中的class数据集做为原始数据集。

Ods简介

Proc 过程步简介

Proc contents简介

第一步,我们要首先获得proc过程步所生成的对象名称。

ods trace on/listing;

proc univariate data=sashelp.class;

var height;

run;

ods trace off;/*查看此过程步生成的对象名称*/

ods trace Arguments

Listing :writes the trace record to the Listing destination, so that each part of the trace record immediately precedes the output object that it describes.

第二步:将proc过程步产生的对象输出为数据集,使用ods output。

ods listing close;

ods output TestsForLocation=TestsForLocation;/*第一个TestsForLocation是生成的数据集名称,第二个TestsForLocation是proc过程步产生的对象名称。*/

proc univariate data=sashelp.class;

var height;

run;

ods listing;/*将生成的对象输出为数据集,这里存放在work逻辑库中*/

ods output

第三步:获得proc contents过程步产生的对象名称。

ods trace on/listing;

proc contents data=TestsForLocation out=a;/*可以生产数据集方便对变量名的统计*/

run;/*查看数据集中各列的属性*/

ods trace off;

在以后的分析中我们需要获得数据集中的变量名称,所以要将Variables对象导出为数据集。代码如下:ods listing close;

ods output Variables=Variables;

proc contents data=TestsForLocation out=a;/*可以生产数据集方便对变量名的统计*/

run;/*查看数据集中各列的属性*/

ods listing;/*将生成的对象输出为数据集,这里存放在work逻辑库中*/

时间: 2024-08-09 03:55:42

如何使用sas proc过程步产生的结果的相关文章

SAS学习经验总结分享:篇五-过程步的应用

之前已经介绍过BASE SAS分为数据步和过程步,过程步是对数据步生成的数据集进行分析和处理,并挖掘数据信息,写出分析报告做总结评价.     1.语法格式: proc 过程名④ <data=数据集名> <选项①>;/*后续会根据标注的序号说明解释*/ 过程语句② ③<参数选项>; run;     2.过程语句②: var  :指定分析变量,多个变量以空格分隔 by:指定一个或多个变量对数据集分组,数据集要先排序 class:指定一个或多个分类变量,不需要事先对数据集

SAS数据步与过程步,数据步语句

SAS数据步与过程步,数据步语句http://www.biostatistic.net/thread-2045-1-1.html  ---转载---原文作者:biostar(出处: 生物统计家园) 数据步与数据步语句 1.数据步基本概念    数据步是产生数据集的一组语句.一个数据步可以建立一个或多个数据集.在一份程序中可以有多个数据步.数据步程序还可以对已建立了的数据集进行修改和产生输出. 2.程序变量与数据集变量    SAS变量有程序变量与数据集变量.数据集的列也叫变量. 3. 数据步的三

sas过程步数据集管理 append过程

append过程 proc datasets lib=work nolist; delete null;quit;*程序运行前清空null数据集,防止重复拼接; proc append base=null data=sashelp.class(where=(sex='女')); run;*将class的部分观测值纵向拼接到null数据集后面;

SAS PROC MCMC example in R: Logistic Regression Random-Effects Model(转)

In this post I will run SAS example Logistic Regression Random-Effects Model in four R based solutions; Jags, STAN, MCMCpack and LaplacesDemon. To quote the SAS manual: 'The data are taken from Crowder (1978). The Seeds data set is a 2 x 2 factorial

sas transpose过程

transpose基本语法 Note: If output-data-set does not exist, PROC TRANSPOSE creates it by using theDATA n naming convention. ??Note: If you omit the VAR statement, the TRANSPOSE procedure transposes all ofthe numeric variables in the input data set that ar

SAS PROC PRINT 常用选项和语句说明

常用选项1.使用选项OBS=修改观测序号标签2.使用NOOBS选项不显示观测序号列3.使用ID语句在输出中取代观测序号列4.使用VAR选择输出的变量5.使用WHERE语句选择输出的观测6.使用数据集选项FIRSTOBS=和使用OBS=来控制观测输出的区间 制作增强型报表:1.使用SUM语句对变量进行求和2.使用SUM语句对变量进行分组汇总 改进报表显示:1.添加标题(TITLE)和脚注(FOOTNOTE)2.使用FORMAT语句规定输出格式3.使用LABEL语句规则输出变量的标签(需要在PROC

SAS

BASE SAS SAS/STAT SAS/ETS SAS/OR SAS/QC SAS/IML SAS/GRAPH SAS语句 SAS程序 文件操作语句 运行语句 控制语句 信息语句 PROC过程步 原文地址:https://www.cnblogs.com/qiuyuyu/p/9290982.html

SAS 查看临时数据集

当SAS的过程步达到一定量的时候,中间总会有一些临时数据集,如果想要查看临时数据集的信息,有哪些途径呢: 1.直接将临时数据集打印出来: procprint data=temp; run; 2.需要查看的是多个数据集呢: 先在当前文件夹下建立一个新的文件夹:BAK LIBNAME BAK './BAK'; OPTIONS USER=BAK; DATA A; SET SASHELP.CLASS; RUN; ENDSAS; 运行完上述的代码后,你会在BAK文件夹下发现A这个临时数据集:注意:这里的E

sas高级编程(3)format过程,管理format、永久使用format给指定variable、控制format搜索顺序、fmterr、利用数据集创建format,由format创建数据集、制表过程

/***************************************************格式过程************************************************/ PROC FORMAT <option(s)>; EXCLUDE entry(s); INVALUE <$>name <(informat-option(s))>value-range-set(s); PICTURE name <(format-optio