楼主: wang1fan
1233 2

SAS模拟程序问题 悬赏求大家指点 [推广有奖]

  • 0关注
  • 0粉丝

大专生

38%

还不是VIP/贵宾

-

威望
0
论坛币
269 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
464 点
帖子
29
精华
0
在线时间
46 小时
注册时间
2005-9-1
最后登录
2017-2-27

楼主
wang1fan 发表于 2016-1-30 00:46:02 |AI写论文
10论坛币
我的SAS程序老出问题 得不出我想要的结果  悬赏求大家指点

/*我所要建立瓮模型模型规则简介:*/
/*本翁模型规定,在试验开始时,翁中放两类球,红球1个,黑球1个。*/
/*模拟开始:*/
/*(1)由试验组和对照组中发生病情进展的先后顺序而生成的组别数据集sorrt*/
/*(2)刚开始在翁中随机抽取一个球观察颜色后放回翁中,*/
/*     如果第一例发生进展的病人来自对照组,且第一次摸出的是红球,则该病人转向试验组治疗,并且给翁中增加10个红球;*/
/*           如果第一例发生进展的病人来自对照组,且第一次摸出的是黑球,则该病人继续在对照组中治疗,同样给翁中增加10个红球;*/
/*     如果第一例发生进展的病人来自试验组,且第一次摸出的是红球,则该病人继续在试验组治疗,并且给翁中增加1个黑球;*/
/*           如果第一例发生进展的病人来自试验组,且第一次摸出的是黑球,则该病人继续在试验组治疗,同样给翁中增加1个黑球;*/
/*(3)由上一步可知翁中球的个数和比例发生了变化,接着进行第二次抽球,抽出球后观察其颜色后放回,此时*/
/*     如果第二例发生进展的病人来自对照组,且第二次摸出的是红球,则该病人转向试验组治疗,并且给翁中增加10个红球;*/
/*           如果第二例发生进展的病人来自对照组,且第二次摸出的是黑球,则该病人继续在对照组中治疗,同样给翁中增加10个红球;*/
/*     如果第二例发生进展的病人来自试验组,且第二次摸出的是红球,则该病人继续在试验组治疗,并且给翁中增加1个黑球;*/
/*           如果第二例发生进展的病人来自试验组,且第二次摸出的是黑球,则该病人继续在试验组治疗,同样给翁中增加1个黑球;*/
/*(4)依次类推*/

data sortt;/*建立一组在治疗过程中发生进展的病人的分组情况的数据集*/
input num group$@@;
cards;
1        对照组
2        试验组
3        对照组
4        对照组
5        试验组
6        对照组
7        对照组
8        对照组
9        对照组
10        对照组
11        试验组
12        对照组
13        对照组
14        试验组
15        对照组
16        对照组
17        对照组
18        对照组
19        对照组
20        对照组
;
run;
/*options nonotes nosource;*/
%macro ballurn (nred,nblack);/*建立一个瓮模型,每次仅仅随机抽一个球,nred为翁中红球个数,nblack为翁中黑球个数*/
data red;
%do x1=1 %to &nred;
RorB='红球';
output;
%end;
data black;
%do x1=1 %to &nblack;
RorB='黑球';
output;
%end;
run;
data conjoin;
set red black;
run;
proc surveyselect  data=conjoin out=dong  method=SRS n=1 seed=2052014476;/*用proc surveyselect随机抽取一个球*/
/*id   RorB;*/
run;
/*说明:method用来指定随机抽样方法的,其中SRS是指不放回简单随机抽样(Simple Random Samping);*/
/*urs是指放回简单随机抽样(Unrestricted Random Sampling);sys是指系统抽样(Systematic Sampling)。*/
/*seed用来指定

关键词:模拟程序 surveyselect unrestricted Restricted Systematic 程序 模型

沙发
wang1fan 发表于 2016-1-30 23:46:23
自己顶一下

藤椅
tonic_zlj 发表于 2016-2-1 21:16:37
你这程序好像没写完整啊,根据sortt数据集的顺序,要调整瓮中的球数,然后抽样。话说你是想看每次抽取的结果还是最终两组的病人情况。
另外这个macro %ballurn貌似用处不大,因为没有宏变量或者其他数据集来记录上一个状态瓮中的球的状态。
核心环节:用sortt数据集控制球数的变化

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

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