通过SPSS读取数据,建立Lisrel数据和矩阵文件
<p>来源:香港中文大学侯杰泰教授讲座</p><p> </p>方法一(使用LISREL创建数据系统文件) <p></p><p></p><p></p><p>1.在SPSS中创建 .sav 文件</p><p></p><p>(1)使用compute, recode 命令对数据进行编辑。</p><p></p><p>(2)把在LISREL中要用到的变量数据保存为file1.sav (文件名.sav)。</p><p></p><p>2.在LISREL中创建.dsf文件</p><p></p><p>(1)点击“file”菜单中的“Import External Data in Other Format”。</p><p></p><p>(2) “file of type”一项,选择“spss for window (*.sav)”; 通过恰当的路径选择“file1.sav”。</p><p></p><p>(3)现在看到一个表格,保存为file1.psf, (或其他设置的文件名,但LISREL并不读取.psf文件)。</p><p></p><p>(4)对.psf文件进行必要的“transformation”和“statistics”后,选择“statistics”菜单中的“Data Screening”,对数据进行扫描(现在已自动创建了LISREL程序所用的file1.dsf)。</p><p></p><p>3.在LISREL中创建.ls8文件</p><p></p><p>(1)点击“file”中的“new”建立新文件(也可以点击“open”打开旧文件)。</p><p></p><p>(2)在第一行,用“SY=file1.dsf”代替“DA”“ME”“KM”“SD”命令。</p><p></p><p>(3)例如:</p><p> SY=file1.dsf</p><p> MO NX=9 NK=3…</p><p></p><p>(4)把以上语句保存为p1.ls8 (文件名.ls8)。</p><p></p><p>(5)点击“run LISREL”运行程序。</p><p> </p>方法二(使用SPSS输出纯文本格式的协方差距阵) <p></p><p></p><p></p><p>1. 假设已准备好.sav 文件,在SPSS中创建 .cov 文件(此文件可以采用“cov”或其他扩展名)</p><p>将任一变量作为因变量,LISREL程序要用到的其他变量作为自变量,做回归分析,SPSS程序如下:</p><p>regression</p><p>matrix=out(‘c:\SEM\file1.cov’)</p><p>/var=y1 y2 y3 x1 x2 x3</p><p>/desc=cov</p><p>/dep=y1/meth=enter y2 to x3.</p><p>execute.</p><p></p><p>2. 在SPSS中创建 .txt 文件</p><p></p><p>(1)读取上一步产生的协方差矩阵文件(这并不是一个txt文件,只有SPSS能读取并使用它)。</p><p>get file=’C:\SEM\file1.cov’.</p><p></p><p>(2)输出一个.txt 文件 (文件名.txt) 供LISREL使用。一定要有输出格式,如用F11.7,表示7位小数,总共11个数位(包括小数点)。</p><p> print format y1 to x3 (E13.5) .</p><p> print outfile=’C:\SEM\file1.txt’ /y1 to x3.</p><p>execute .</p><p>如果变量多,一行写不完,可以用下面的指令输出多行数据(第一行输出y1, y2, 第二行输出y3, x1, x2, x3):</p><p>print outfile=’C:\SEM\file1.txt’ /y1 y2 /y3 x1 to x3.</p><p></p><p>3.在记事本中去掉被试人数N</p><p></p><p>(1)在记事本中打开file1.txt,去掉N (N为被试人数;在回归中,用列删法会有p个“N”值,对删法会有p×p个“N”值)。</p><p></p><p>(2)保存为file1.txt。</p><p></p><p>4.在LISREL程序中,使用下面所示的指令句读入数据。即使在分析中不使用某些数据,也要依次读取ME,SD, KM。</p><p>DA NI=6 NO=249 MA=CM</p><p>ME FI=file1.txt</p><p>SD FI= file1.txt</p><p>KM FI= file1.txt FU</p><p>MO NX=6 NK=2…</p> 怎么样把来自SPSS的sav数据中的缺失值-999999.000搞掉? <p>谢谢你了。</p> 学习了啊,谢谢 <strong> 1# <i>兵哥哥</i> </strong> <br /> <br /> 其实方法一可以更简单:<br /> (1)用spss生成 sav文件 <br /> (2)用lisrel 生成 psf文件<br /> (3)直接在程序中直接指定数据来源是这个psf文件<br /> <br /> 根本不用生成 DSF文件 好东东~太明白了 多谢了!楼主 请问这个“对.psf文件进行必要的“transformation”和“statistics”后,”其中的必要到底是要怎么操作页:
[1]