全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
20673 7
2009-06-12
对于数据集:

data=account;
input  account_key   balance;
datalines:

1   23
3   12
12  43
6   13
8   52
10  62;
run;

proc means data=account;
var account_key balance;
output out=datasets
n =sample
mean=mean;
run;

这个时候我得到的output为:

VariableNMean
account_key
balance
14
14
15.8571429
2128.57

可是数据集为:

_TYPE__FREQ_samplemean
0141415.85714

发现数据集中少了一个变量统计。请教高手如何改正我的code啊?高手哥哥姐姐快快赐教吧!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2009-6-12 16:48:00
proc means data=account;
var account_key balance;
output out=datasets n=sample1 sample2 mean=m1 m2;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-6-14 22:17:08
sorry.
i c
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-6-14 22:31:57
data=account;
input  account_key   balance;
datalines:
1   23
3   12
12  43
6   13
8   52
10  62;
run;

%let Vars=account_key balance;
%macro MeansMcr;
   data base; length var $32 account_key 8 balance 8;delete;run;/*create an empty data set,variables adjusted by statistic names*/
   %local i;%let i=1;
   %do%while(%scan(&vars,&i) ^= %str( ));/*loop each variable*/
      %let var=%scan(&vars,&i);
      proc means data=account;
          var &var;
          output out=MeansOut n =sample  mean=mean;/*specify interested statistics*/
      run;
      data MeansOut;
          length var $32;
          set MeansOut;
          var="&var";
      run;
      proc append base=base data=MeansOut force;run;/*accumulate all statistics of each variable*/
      %let i=%eval(&i+1);
   %end;
   quit;
%mend MeansMcr;

%MeansMcr
;

*没有测试这个程序。如果有什么问题自己调整一下。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-7-4 03:39:49
proc means data=account;
var account_key balance;
output out=datasets ;
run;

proc transpose data=datasets out=tmp;
var account_key balance;
id _stat_;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-7-4 21:50:42
data account;
input account_key   balance;
datalines;
1   23
3   12
12  43
6   13
8   52
10  62
;

proc means ;
var account_key balance;
output out=datasets  n(account_key balance ) =sample1 sample2
mean(account_key balance)=maccount_key mbalance;
run;
quit;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群