全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5639 8
2010-04-09
各位大侠,我现在有一永久数据集sasuser.aaa,所包含变量名分别为:group1 x1 group2 x2 group3 x3 ...group23 x23,
其中group取值为1和2,x 为观察值,
我想拆分为23个小的数据集(每个只包含两个变量 group x),数据集名称分别为S1,S2,...,S23 以便于按group 对变量x进行成组数据分析,并将结果一次性全部输出。

请问拆分数据集的程序该怎么写,怎么样一次性对所有23个数据集进行成组分析? 如果用Macro来实现, 又该怎么写呢?
请各位大侠不吝赐教!  谢谢!

(永久数据集格式如下:)


成组数据统计分析的代码如下:
data s1;
   input group x;        /*group中,1代表“男”,2代表“女”*/
run;

ODS html file="e:\data分析\&f..html";
title &f;
proc sort ;
   by group;
run;
proc univariate normal ;
   var x;
   by group;
run;
proc ttest cochran ;
   class group;
   var x;
run;
proc npar1way wilcoxon ;
   class group;
   var x;
run;
ODS html close;
二维码

扫码加我 拉你入群

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

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

全部回复
2010-4-9 19:01:05
%crackman(23)
%macro crackman(i);
%local n=1;
%do %while (n<=&i.);
%crackman1(&n.);
%let n=%eval(&n.+1);
%end;
%mend crackman;


%macro crackman1(n);
data s&n. (keep=group&n. x&n.);
set  sasuser.aaa;
ODS html file="e:\data分析\&n..html";
title &n.;
proc sort ;
   by group&n.;
run;
proc univariate normal ;
   var x&n.;
   by group&n.;
run;
proc ttest cochran ;
   class group&n.;
   var x&n.;
run;
proc npar1way wilcoxon ;
   class group&n.;
   var x&n.;
run;
ODS html close;
%mend crackman1;
二维码

扫码加我 拉你入群

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

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

2010-4-9 19:01:36
看看行不行 没的数据验证的
二维码

扫码加我 拉你入群

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

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

2010-4-9 19:44:15
多谢 crackman 大侠,程序运行还有点问题:


错误提示如上,程序其它地方没有提示出错,我不太懂宏,还得麻烦大侠。谢谢。
二维码

扫码加我 拉你入群

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

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

2010-4-9 23:01:35
data s&n. (keep=group&n. x&n.);
set  sasuser.aaa;

改成
data
%do i=1 %to 23 %by 1;
s&i. (keep=group&i.  x&i.)
%end;
;
set  sasuser.aaa;

比较好
生成全部“小”数据集仅遍历aaa一次,性能上稍优
二维码

扫码加我 拉你入群

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

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

2010-4-9 23:11:11
%macro split;
%do i=1 %to 23;
data s&i;
set raw;
keep group&i x&i;
run;
ODS html file="e:\&i.html";
proc sort;
   by group&i;
proc univariate normal ;
   var x&i;
   by group&i;
proc ttest cochran ;
   class group&i;
   var x&i;
proc npar1way wilcoxon ;
   class group&i;
   var x&i;
run;
ODS html close;
%end;
%mend;

%split
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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