发表回复 
 
主题评价:
  • 0 次(票) - 平均星级: 0
  • 1
  • 2
  • 3
  • 4
  • 5
用于随机化的SPSS小程序
2010-10-09, 11:39 AM
用于随机化的SPSS小程序
以下介绍的这几个简单SPSS小程序都是用来进行随机化的(随机区组、分层随机区组等),我没有测试。有兴趣的可以拿去试下。相比SAS的随机化程序,这些程序要相对复杂​一些,用到了循环、函数什么的,对于医学工作者来说,SAS的随机化程序可能更直观,明了,呵呵。

1 随机数字产生程序
input program.
loop #I=1 to 20.
compute x=uniform(1).
compute Y=trunc(x*1000).
end case.
End loop.
End file.
End input program.
execute.

2 随机分组程序
input program.
loop #I=1 to 20.
compute x=uniform(1).
end case.
End loop.
End file.
End input program.
execute.
rank variables=x(a)/rank/print=yes/ties=mean.
do if (rx>10).
recode rx(11thru 20=2) into group.
end if .
execute.
do if (rx<11).
recode rx(1thru 10=1) into group.
end if .
execute.

input program.
loop #I=1 to 20.
compute x=uniform(1).
end case.
End loop.
End file.
End input program.
execute.
rank variables=x(a)/rank/print=yes/ties=mean.
recode rx(11thru 20=2) into group.
recode rx(1thru 10=1) into group.
execute.
分四组
input program.
loop #I=1 to 20.
compute x=uniform(1).
end case.
End loop.
End file.
End input program.
execute.
rank variables=x(a)/rank/print=yes/ties=mean.
recode rx(16thru 20=4) into group.
recode rx(11thru 15=3) into group.
recode rx(6thru 10=2) into group.
recode rx(1thru 5=1) into group.
execute.

3 随机区组设计
input program.
loop #I=0 to 29.
compute x=rnd(#I/5+0.5).
end case.
End loop.
End file.
End input program.
execute.
compute ii=uniform(1).
rank variables=II by x.
execute.

4 分层随机区组设计程序
input program.
Loop #i=0 to 143.
Compute x=rnd(#i/24+0.5).
Compute xx=rnd((#i-(x-1)*24)/4+0.5).
end case.
End loop.
End file.
End input program.
execute.
compute ii=uniform(1).
rank variables=II by x xx.
execute.
Recode rii (1=1) (2=2) (3=1) (4=2) into group.
Execute.
STRING 组别 (A8) .
RECODE group (1=\'treat\') (2=\'contro\') INTO 组别 .
EXECUTE .

5 分层随机区组设计程序2
compute yy=rnd(#i/1+0.5).
Compute x=rnd(#i/24+0.5).
Compute xx=rnd((#i-(x-1)*24)/4+0.5).
end case.
End loop.
End file.
End input program.
execute.
compute ii=uniform(1).
rank variables=II by x xx.
execute.
Recode rii (1=1) (2=2) (3=1) (4=2) into group.
Execute.
STRING 组别 (A8) .
RECODE group (1=\'treat\') (2=\'contro\') INTO 组别 .
EXECUTE.
查找这个用户的全部帖子
引用并回复
发表回复 


论坛跳转:




联系我们 | 新药网 | 回到顶部 | 回到正文区 | 精简(归档)模式 | RSS 聚合