新闻资讯    

Mplus如何读取数据与做基本的数据分析?

Mplus可以处理多种不同的数据类型,其中最常见的两种:individual data and summary data。

Ø  individual data:指的是原始数据,包含测量变量的所有观察值

Ø  summary data:由相关矩阵或协方差矩阵组成的数据

一、如何读取individual data

上一章的数据管理主要是为录入个体数据服务的。

(一)Mplus编程的基本结构

Mplus句法结构

基本功能

TITLE:

用来标注统计分析的内容和相关备注内容,这个并不是必须的命令

DATA:

用来读取数据(必须的命令)

VARIABLE:

用来定义数据中的变量名称,以及缺失值(必须的命令)。子命令:

Names are; missing = all (-99).

DEFINE

用来转换现有变量和定义新的变量

ANALYSES:

用来定义数据分析类型

MODEL:

用来描述所要估算的模型

OUTPUT:

用来界定所要输出的数据分析结果特征

SAVEDATA:

用来保存分析数据、辅助数据,以及相关的数据分析结果,以便做进一步的分析

PLOT:

用以数据分析的绘图或图形展示

MONTECARLO:

用来进行Monte   Carlo的相关模拟和分析

Mplus语法的基本结构,如下图。选择file—save,会保存为一个后缀为.inp格式的输入文件。

                                             


(二)Mplus如何通过DATA命令读取原始数据

1.DATA命令

当读取数据时,在DATA命令下,有两种方式来读取数据文件。

第一种,将数据文件(*.dat/*.csv)与输入文件(*.inp)放在同一个文件夹中,直接在DATA命令下输入“file is / = *.dat或*.csv;”注意,Mplus单个命令以“;”结束。

第二种:当数据文件和输入文件不在同一个文件夹中时,只需要在DATA命令下输入“file is / = 数据文件的路径;”即可。比如,"file is D:\KFT.dat;". 

2.采用VARIABLE命令定义变量名称

VARIABLE中常见的子命令:NAMES, USEVARIABLES, CLASS, MISSING等。

可以将数据文件中涉及的所有变量以“NAMES”子命令进行定义。此处界定的变量名称一定要和数据文件中的变量名称保持对应的顺序。Mplus中每个变量名称不要超过8个字符。如果在SPSS原始数据文件中有定义的变量名称,而且变量非常多,可以采用Utilities → VariablesàPaste,将SPSS的变量名称(一定是字母形式,不要有汉字,且不要超过8个字符)复制黏贴到NAMES ARE子命令中。如图所示:



选中所有的变量名称,点击paste,进入SPSS的Syntax窗口,选中并复制变量名称即可直接黏贴到Mplus中,NAMES ARE….


 

如果数据文件中存在缺失值,可以用MISSING子命令来进行定义,比如

missing = all (–99);

这里的all包含了数据文件中的所有变量。 

如果只需要一小部分变量进行分析,而不是NAMES ARE后面的所有变量,这时可以用USEVARIAABLE ARE (或USEVAR ARE)读取所需的变量进入分析即可。 

3.用ANALYSIS定义数据分析类型

ANALYSIS:

TYPE = BASIC;

当type = basic时,可以进行基本的数据分析,可以输出描述性统计分析结果。 

4.Mplus语法的基本规则

1)   Mplus不区分字母的大小写

2)   Mplus命令的呈现顺序并没严格规定,可以随意设定

3)   每一个命令行(command line)以英文分号结束(;)

4)   每个单独的命令行不要超过90个字符,如果命令过长,直接用ENTER键,另起一行即可

5)   变量名称不要超过8个字符

6)   如果需要对命令添加说明(comment),则需要以感叹号!开始,对相关内容进行说明即可。 

5.BASIC analysis结果

当编程写好之后,点击RUN即可进行数据分析。系统会产生一个后缀为.out的结果文件,并自动跳出结果窗口。这个基本分析的结果如下:

(1)呈现输入文件的引导内容



(2)warning message

警示文件告知本次分析中包含一个警示,告知缺失值的处理办法,以及所有变量中包含缺失值的观察值数量,即131个,这部分观察值不进入数据分析。



(5)数据协方差结果

这部分结果表示用以计算方差或协方差的个案比例,除了KFT_N3之外,其他所有变量的协方差覆盖率(covariance coverage)为100%。而KFT_N3则为99.8%(因为存在缺失值)。但是Mplus默认的最小协方差覆盖率为10%( Minimum covariance coverage value 0.100)。

If the covariance coverage fell below this value, Mplus would no longer estimate a model by default because the coverage would be seen as too weak”,如果这个数值低于10%,Mplus不再评估该模型,因为这个协方差覆盖率太弱了。

Note:协方差覆盖率并不是指数据的实际方差或协方差,而是表现了数据的完整性(completeness),即能够用以计算统计量的数据大小。



(6)basic分析结果

下图的分析结果报告了所有变量的平均值、协方差矩阵、相关矩阵

注意:Mplus计算的描述统计量不能和SPSS的进行直接比较。因为Mplus默认采用的是FIML(full information maximum likelihood)方法,而SPSS用的是pairwise 或listwise个案排除方法。FIML是比pairwise和listwise更加强大的处理缺失值的统计方法。

为了能够直接比较两种软件做出的描述统计分析,可以采用listwise deletion in Mplus。在DATA命令下,设定子命令listwise = ON, 即可。



下图是单变量样本的描述性分析结果。



二、如何读取summary data

(1)summary data数据样式

Summary data指的是汇总了数据相关矩阵、协方差矩阵、平均值和标准差的数据样式。最直接的办法是将变量的这些数值保存到一个txt的文本文件中即可。该文本中,

第一行是变量的平均值

第二行是变量的标准差(standard deviation)

接下来即变量间的协方差矩阵或相关矩阵。

数据样式见下图:



(2)数据读取语句

DATA命令中直接读取包含summary data的文本文件,即txt格式。可以将数据文件和输入文件放到同一个文件夹。

file = KFT_summary-data.txt;

子命令type定义了数据的样式,如

type = means std corr;

该语句表示数据样式中首先包含变量的平均值,紧接着是标准差,随之是变量的相关矩阵。如果是协方差矩阵,则以cova代替corr. 此处的顺序非常重要,不要搞错顺序。

 

子命令nobservations指定样本量,语句如下:

      nobservations = 455;

此处的455的样本量指的是listwise case,不是456.



“VARIABLE: NAMES = ”的定义方式和原始数据一样,要按照顺序给出变量的名称。

注意:ANALYSIS命令中的BASIC不适用于summary data.

output: sampstat; 该命令定义数据输出的统计结果。“sampstat”是sample statistics的简称。即给出这六个变量的描述性统计分析结果。

注意:由于在Mplus中没有设定具体的MODEL命令,那么Mplus将默认估算一个零模型(null model),即假定这六个变量之间不存在任何关系。系统仅输出变量的平均值和方差。


后续分享小编将以读书笔记的形式给大家分享书中的精彩内容

敬请关注本公众号

声明:文章原创,转载请注明出处

盗用内容维权必究




发布时间:

2019年05月22日

上一篇:
如何在组织管理研究中开展神经科学研究

下一篇:

读书笔记《Data Analysis with Mplus》