楼主: sean1945
5692 8

求助:如何将一大的数据集拆分为多个小数据集并进行成组数据分析? [推广有奖]

  • 0关注
  • 3粉丝

已卖:276份资源

博士生

74%

还不是VIP/贵宾

-

威望
0
论坛币
1047 个
通用积分
87.3837
学术水平
3 点
热心指数
3 点
信用等级
3 点
经验
15949 点
帖子
214
精华
0
在线时间
455 小时
注册时间
2007-11-4
最后登录
2024-1-7

楼主
sean1945 发表于 2010-4-9 17:49:28 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位大侠,我现在有一永久数据集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;
二维码

扫码加我 拉你入群

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

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

关键词:数据分析 数据集 小数据 Univariate wilcoxon 求助 数据集 拆分 成组 集并 数据分析专题 数据处理 数据分析软件 数据分析报告 面板数据分析 excel数据分析 数据分析方法 项目数据分析

回帖推荐

luijb 发表于6楼  查看完整内容

%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

本帖被以下文库推荐

他大舅他二舅都是他舅,高桌子低板凳都是木头

沙发
crackman 发表于 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;

藤椅
crackman 发表于 2010-4-9 19:01:36
看看行不行 没的数据验证的

板凳
sean1945 发表于 2010-4-9 19:44:15
多谢 crackman 大侠,程序运行还有点问题:


错误提示如上,程序其它地方没有提示出错,我不太懂宏,还得麻烦大侠。谢谢。
他大舅他二舅都是他舅,高桌子低板凳都是木头

报纸
soporaeternus 发表于 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一次,性能上稍优
已有 1 人评分论坛币 热心指数 收起 理由
crackman + 100 + 1 好的意见建议

总评分: 论坛币 + 100  热心指数 + 1   查看全部评分

Let them be hard, but never unjust

地板
luijb 在职认证  发表于 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
已有 2 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子
crackman + 100 精彩帖子

总评分: 经验 + 3  论坛币 + 103   查看全部评分

西格玛临床统计服务工作室http://www.sigma-stat.com/,luijb@163.com

7
sean1945 发表于 2010-4-10 12:28:03
程序运行顺利,非常感激三位大侠的热心帮助,在论坛上真是学了不少东西,当然还有很多要学,希望有机会多交流。
Thanks  for  yours help!
他大舅他二舅都是他舅,高桌子低板凳都是木头

8
南冰 发表于 2010-4-10 12:53:41
版主牛人啊,宏代换用的出神入化啊!
一直怀有一个梦想,希望在不久的将来能读个博士,做做学术搞搞研究,饱尝学术的艰辛

9
sean1945 发表于 2010-4-10 16:26:35
呵呵,我也觉得版主太牛了,这几位大侠都厉害。。。
他大舅他二舅都是他舅,高桌子低板凳都是木头

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-24 18:43