楼主: dchrenstu
10387 18

[原创博文] 请教高手,proc means 如何把output窗口的结果做成数据集 [推广有奖]

11
llulla 发表于 2016-11-18 10:46:18
请试一试这个code, 其中的stackods选项很有用。能输出你要的结果。
ods listing close;
ods output summary=class;
proc means data=sashelp.class stackods n mean std min max maxdec=2;
var age height weight;
run;
ods output close;
ods listing;

12
紫月170 发表于 2017-12-6 10:10:14
卡西法星球 发表于 2016-11-17 21:56
楼主,我也出现了这样的问题,请问你找到答案了吗?
我也想问。。解决了吗

13
紫月170 发表于 2017-12-6 10:11:11
peking198 发表于 2016-11-18 09:58
result 后面加上let
什么意思?哪个result?

14
流水不朽 发表于 2017-12-6 10:37:37
两种方式:
1、 注意,当var 变量多于1个的时候,统计量需要指定某个 变量才行。多用于单个变量
proc means data=sashelp.applianc noprint ;
var units_2;
output out=group_reg6 n=n_ nmiss=nmiss_ max=max_ min=min_
                                          mean=mean_ std=std_ median=median_
                                          mode=mode_ q1=q1_ q3=q3_ p10=p10_
                                          p20=p20_ p30=p30_ p70=p70_ p80=p80_ p90=p90_;
run;
2、注意,当分析变量多余1个的时候,需要使用STACKODSOUTPUT,保证每个变量
统计信息都能输出。不然,只会输出第一个变量的统计信息到output 数据集
proc means data=sashelp.class STACKODSOUTPUT;
/*class sex;*/
var weight height;
ods output summary=default;
run;

15
river2537 发表于 2018-1-23 12:15:54
确实有两种办法

16
ctk9012 发表于 2018-3-1 17:28:22
novice505 发表于 2010-10-28 18:59
为什么最后一个transpose过程在SAS9.2中文版运行是这种结果?没有“_______”这样的id值啊。。

ERRO ...
第一次转置后中文版里的赋值为中文,因为以后要变成变量名,所以要全替换成英文
ods output summary=result;
proc means data=sashelp.class n nmiss min max p1 p5 p50 p95;
var age height weight;
run;
proc transpose data=result out=temp;
run;
data temp;
set temp;
_name_=scan(_name_,1,"_");
run;
data temp;
set temp;
/*中文版要加入以下语句*/
_label_=tranwrd(_label_,"缺失值个数","nmiss");
_label_=tranwrd(_label_,"最小值","min");
_label_=tranwrd(_label_,"最大值" ,"max");
_label_=tranwrd(_label_,"第 1 个百分位数","P1");
_label_=tranwrd(_label_,"第 5 个百分位数","P5");
_label_=tranwrd(_label_,"第 50 个百分位数","P75");
_label_=tranwrd(_label_,"第 95 个百分位数","P95");
run;
/*要重新排序*/
proc sort data=temp;
by _name_ _label_;
run;
proc transpose data=temp out=result;
by _name_;
id _label_;
run;

17
daiyu8000 发表于 2019-3-8 14:32:55
流水不朽 发表于 2017-12-6 10:37
两种方式:
1、 注意,当var 变量多于1个的时候,统计量需要指定某个 变量才行。多用于单个变量
proc mea ...
高手,高手,高高手。原理是什么啊

18
barbieliya 在职认证  发表于 2020-4-16 11:04:55
llulla 发表于 2016-11-18 10:46
请试一试这个code, 其中的stackods选项很有用。能输出你要的结果。
ods listing close;
ods output summ ...
谢谢!确实stackods选项有用

19
TT葵 发表于 2022-2-20 14:53:44
流水不朽 发表于 2017-12-6 10:37
两种方式:
1、 注意,当var 变量多于1个的时候,统计量需要指定某个 变量才行。多用于单个变量
proc mea ...
成功了 感动!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-21 10:07