compute 里面有生成随机数的函数

不知道能否达到您的目的
谢谢。接着呢。能说清楚点吗。
2 个月 后
我在SPSS中编辑了如下程序,反复验证后感觉效果理想,希望能帮你一把! 举例:欲把10个人分到不同的2个处理组,首先把此10人编号

no

  1.00

  2.00

  3.00

  4.00

  5.00

  6.00

  7.00

  8.00

  9.00

  10.00

编程1如下;(为了更明白,把编程分两部分给你看,数据及程序可直接录入 SPSS)

COMPUTE 随机数 = normal(1) .

RANK

VARIABLES=随机数/RANK   .

产生结果1如下;

  no       随机数   R随机数

  1.00       .13       7.000

  2.00       .22       9.000

  3.00       -1.06       2.000

  4.00       -1.15       1.000

  5.00       .22       8.000

  6.00       -.65       4.000

  7.00       -.75       3.000

  8.00       -.15       5.000

  9.00       .09       6.000

  10.00       .97       10.000

编程2,将编程1加一个命令语句:

COMPUTE 随机数 = normal(1) .

RANK

VARIABLES=随机数/RANK   .

RECODE

R随机数 (Lowest thru 5=1) (6 thru Highest=2) .

EXECUTE .

输出结果2为;(因为随机的缘故,数据结果每次都不同,自己上机能看到!)

  no       随机数   R随机数

  1.00       -1.25       1.000

  2.00       1.19       2.000

  3.00       .14       1.000

  4.00       1.95       2.000

  5.00       1.19       2.000

  6.00       1.67       2.000

  7.00       -1.38       1.000

  8.00       .39       2.000

  9.00       -1.53       1.000

  10.00       -.36       1.000

与结果1的不同在于末列对应个案完成了分组。

同样有33只动物分到三个组去可以用 :

COMPUTE 随机数 = normal(1) .

RANK

VARIABLES=随机数/RANK   .

RECODE

R随机数 (Lowest thru 11=1) (12 thru 22=2) (23 thru Highest=3) .

EXECUTE .

NPAR TESTS

/RUNS(MEDIAN)=R随机数 随机数

/RUNS(MEAN)=R随机数 随机数

/RUNS(MODE)=R随机数 随机数

/STATISTICS DESCRIPTIVES

/MISSING ANALYSIS.

本程序末尾加了游程检验,以验证其随机性效果,你会发觉本程序十分理想。反复用no(编号)提交程序,游程检验结果看见,本程序无限趋近完美![p:3]
[quote]引用第3楼wxq16382007-03-25 10:12发表的“”:

[wxq1638] 仰天狂笑:普天之下,竟然没有我的对手...

.......[/quote]

拜托你稍微谦虚那么一点点好不好?何况你给的东西还不是正确的答案!你知道人家楼主想要什么样的随机数啊,就随便给出自以为无限趋近完美的答案?人家说过一定要不重复的随机数了么?人家说过一到二的随机数一定分别出现相等的次数么?
也可以试试下面产生随机数的两个程序(选一即可),每次提交只产生一个数,反复提交后可见:其前面的大数有升序的倾向,故应先预定欲取的尾部位数及与分组的对应意义。这是解决圣骑士讲到的难题的办法。注意;n0 的数据仍然按3楼格式。



1.

SET

RNG=MC

  SEED=RANDOM   .

2.

SET

RNG=MT

MTINDEX=RANDOM.