spss语法程序如何编写?

spss语法程序如何编写?,第1张

libname a ‘e:\data\’

data a.student

infile ‘e:\data\student.txt’

input name height weight

以上程序将目录“e:\data\”下的文本文件“student.txt”中的数据输入数据集student中,该数据集存放于目录“e:\data\”下。

(2)直接输入方式

数据量较少或 *** 作者意志力坚强的情况下采用此种输入方式,在data语句之后写入如下语句:

input变量名1变量名2 …变量名n

datalines(在以前的版本下为cards,新版本下两者可通用)

… … … …(数据行)

… … … …(数据行)

… … … …(数据行)

datalines语句用于直接输入数据,标志着数据块的开始。

注意:这里的数据行中数据之间以空格分隔,当然也可以其它东东如逗号等来分隔,这里大家先以空格来分隔好了。因为不同的分隔方式下input语句要采取相应的控制选项,这些我们以后再讨论,这里我们还是省省力气吧。另外数据行输完后不能像其它语句那样直接在后面加上分号,而要另起一行输入分号,这样SAS才认为这是在输入原始数据而不是在搞别的什么。

1、进入程序编辑窗口界面创建一个新程序Filenewsyntax打开一个旧程序Fileopensyntax程序文件的扩展名为.sps。

2、RUNALL运行全部程序RUNSELECTION运行所选择的部分程序二熟用Paste按钮在SPSS所有菜单对话框中均有Paste功能,在所有对话框选择完毕后,不选择OK,而使用Paste,则程序编辑窗口会自动生成程序。

分类: 电脑/网络 >>电脑常识

解析:

在SPSS中,菜单Compute 根据不同的分布要求,可以选择以RV开头的函数进行计算,产生随机数字,注意待存放数据的数据格Cell必须是已被激活或者说已填入空值的格子!

1. 在SPSS中,产生一系列随机数方法是调用Transform 菜单下的Compute次级菜单,在其中调用Functions列表中的以RV开头的函数来计算产生。其中VR开头的函数有若干,表示其各自所产生的随机数符合不同的分布,如常态分布,t分布,F分布等。按照cunguo的称述,应该是想要生成平均分布的随机数,那就选择RV.UNIFORM函数来计算了。随机种子嘛,就不用去管它了,系统自己会解决的。

2.建议使用MS Excel来解决你的问题,这样也许更简单一些。EXCEL菜单:工具>加载宏>选择“分析工具库”和“分析工具库--VBA函数”。然后在工具菜单的最下边你将看到多了一个工具“数据分析”。就是这个了选择其中的随机数发生器,剩下的选择该自己会揣摩吧,记住分布类型仍然需要选择的。如果你在菜单中找不到那两个宏,说明没有安装,OFFICE的典型安装是不装的,重新运行OFFICE的SETUP,自定义装上就可以了!

只需要在稍微补充一点:SPSS *** 提供了真随机数和伪随机数两种,RV系列均为真随机数,在编程上其随机种子一般都是取自流逝的时间,所以结果不可重复。而NORMAL(stddev)等是伪随机数,只要预先设置好随机种子,其结果均可重现。

以下介绍几个简单SPSS小程序

1 随机数字产生程序

input program.

loop #I=1 to 20.

pute x=uniform(1).

pute Y=trunc(x*1000).

end case.

End loop.

End file.

End input program.

execute.

2 随机分组程序

input program.

loop #I=1 to 20.

pute 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.

pute 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.

pute 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.

pute x=rnd(#I/5+0.5).

end case.

End loop.

End file.

End input program.

execute.

pute 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.

pute 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

pute 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.

pute 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.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11253782.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存