楼主: crackman
5814 6

[学习资料] SPSS产生随机数(转载) [推广有奖]

已卖:401份资源

院士

83%

还不是VIP/贵宾

-

威望
6
论坛币
91928 个
通用积分
23.5045
学术水平
424 点
热心指数
505 点
信用等级
256 点
经验
112978 点
帖子
2940
精华
0
在线时间
2532 小时
注册时间
2007-4-26
最后登录
2025-6-25

初级热心勋章 中级热心勋章 初级学术勋章 初级信用勋章

楼主
crackman 发表于 2010-3-24 22:53:40 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
在SPSS中,菜单Compute 根据不同的分布要求,可以选择以RV开头的函数进行计算,产生随机数字,注意待存放数据的数据格Cell必须是已被激活或者说已填入空值的格子!
在SPSS中,产生一系列随机数方法是调用Transform 菜单下的Compute次级菜单,在其中调用Functions列表中的以RV开头的函数来计算产生。其中VR开头的函数有若干,表示其各自所产生的随机数符合不同的分布,如常态分布,t分布,F分布等。按照cunguo的称述,应该是想要生成平均分布的随机数,那就选择RV.UNIFORM函数来计算了。随机种子嘛,就不用去管它了,系统自己会解决的。
SPSS中共提供了真随机数和伪随机数两种,RV系列均为真随机数,在编程上其随机种子一般都是取自流逝的时间,所以结果不可重复。而NORMAL(stddev)等是伪随机数,只要预先设置好随机种子,其结果均可重现。
以下介绍几个简单SPSS小程序
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.
二维码

扫码加我 拉你入群

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

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

关键词:SPSS PSS 随机数 Variables Functions SPSS 随机数

本帖被以下文库推荐

沙发
yette 发表于 2010-3-25 22:47:10
谢谢楼主分享,学习ing

藤椅
yanglqx 发表于 2010-4-1 17:53:31
谢谢楼主 学习了
加油啦啦啦啦

板凳
classmadog 发表于 2010-5-24 21:04:12
请问楼主,要怎么从2000份样本数据中随机抽出其中的200份,进行分析? 1# crackman

报纸
ziyouhun9527 发表于 2010-5-25 09:59:51
感谢楼主分享啊,有学了一招,谢谢咯!

地板
512893166 发表于 2010-5-29 13:16:27
谢谢Lz,学习了!

7
zhouxuanzhx 发表于 2014-12-19 14:58:43
谢谢,学习了,并结合《利用SPSS 进行随机化实验设计分组》的文献一起看(可在论坛下载),终于学会用这个程序了。

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

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