SPSS+AMOS数据分析案例教程-关于中介模
SPSS视频教程内容目录和跳转链接
Mplus中介和调节教程
大学生问卷互填群
Meta分析辅导+代找数据
SPSS+AMOS数据分析案例教程-关于中介模
SPSS视频教程内容目录和跳转链接
R语言快速入门视频教程
LCA潜在类别分析和Mplus应用
Amos结构方程模型数据分析入门教程
倒U关系回归分析中介效应和调节效应分析SPSS视频教程
统计咨询(图文问答)

python 线性代数:[7]解多元一次方程

用python的numpy包中的linalg.solve()方法解多元一次方程,如果你对矩阵解方程非常熟悉,那么现在只是学习一下这个函数就好了。如果你不是很熟悉用矩阵解方程,你需要看一下线性代数的课本。

  • 首先看一下我们要解的方程,将这个方程格式调整好,按照x-y-z-常数项的顺序排列
  • 将未知数的系数写下来,排列成一个矩阵a,如下
  • 常数项构成一个一维数组(向量)
  • 使用linalg.solve方法解方程,参数a指的是系数矩阵,参数b指的是常数项矩阵
  • 我们得到的解对不对呢?使用点乘的方法可以验证一下,系数乘以未知数可以得到常数项
  • 今天用到的所有代码如下

  • a=[[1,2,1],[2,-1,3],[3,1,2]]

  • a=np.array(a)

  • a

  • array([[ 1, 2, 1],

  •    [ 2, -1,  3],
    
  •    [ 3,  1,  2]])
    
  • b=[7,7,18]

  • b=np.array(b)

  • b

  • array([ 7, 7, 18])

  • x=np.solve(a,b)

  • Traceback (most recent call last):

  • File “<pyshell#31>”, line 1, in

  • x=np.solve(a,b)
    
  • AttributeError: ‘module’ object has no attribute ‘solve’

  • x=np.linalg.solve(a,b)

  • x

  • array([ 7., 1., -2.])

  • np.dot(a,x)

  • array([ 7., 7., 18.])

转载请注明来自DataScience.

邮箱: 675495787@qq.com

spss按照3个标准差筛选数据的方法

在数据处理的时候,一般来说数据都是正态分布的,按照正态分布的性质,三个标准差以外的数据都,可以被看作是错误的数据从而排除掉,现在跟大家分享一下如何根据标准差来筛选数据。
方法/步骤

  • 要想按照标准差筛选数据,必须先要求出每个数据的Z分数,如图所示,在菜单栏上执行analyze–descriptive statistic–descriptive,打开描述统计对话框
  • 将我们要筛选的数据放入到变量对话框中,勾选save standardized values as variables,这样就能输出Z分数了,点击ok按钮,输出结果
  • 我们看到,在数据窗口中多了一列数据,这就是我们求得的z分数,接下来要根据这组数据。来筛选数据
  • 在菜单栏上执行data—select cases,打开数据筛选对话框
  • 我们对case按照标准差进行选择,需要根据条件来选择,所以选择if conditions is satisfied,点击if来设置条件
  • 在这里我们输入公式Zx2 <= 3 & Zx2 >= -3 ,这个条件的意思就是选择数值在3和-3之间。点击continue按钮,返回到主对话框
  • 在主对话框中,点击ok按钮,开始处理数据
  • 最后我们看一下处理的效果,超过三个标准差的数据在前面都有一个斜杠表示删除了。以后处理数据的时候他们就不参与了

转载请注明来自DataScience.

邮箱: 675495787@qq.com

SPSS实例:[36]分层卡方检验

现在我手头有一个研究数据,数据描述的是不同的年龄组儿童、不同的阅读顺序对是否受到干扰的影响。我们来看一下数据你就懂了。有两个年龄组分别为0和1代表;图书顺序也是两个分别为1和2,是否受到了干扰我们用0和1表示。我们想知道在不同的年龄组下图书顺序是否影响干扰。这时候用到了分层卡方检验,以年龄组作为分层变量。

  • 首先打开交叉表分析对话框
  • 将年龄组放入到分层变量框
  • 打开【statistics】对话框,勾选卡方和CMH统计量,点击继续
  • 我们看统计结果,首先是层间一致性检验。sig值显示差异不显著,说明不同年龄组中,图书顺序与干扰的关系是相同的。
  • 接着看分层卡方检验结果,即考虑到年龄因素后,图书顺序与干扰的影响。这里显示图书顺序与干扰是无关的。隐私sig值均大于.05

转载请注明来自DataScience.

邮箱: 675495787@qq.com

SPSS python教程:[5]SpssClient简介

SpssClient是用python实现spss操作的必定要引入的一个模块,我们今天就来看一下该模块下有哪些子模块,然后简单说一下我们按照什么顺序来写这一系列教程,重点讲什么,看看你自己是否需要看这篇教程。

  • 先来看看SpssClient模块下有哪些类我们可以在python中使用。主要的大类有五个:DataDocList,SyntaxDocsList,OutputDocsList,SpssServerConfList,SpssScriptContext,我们下面分别介绍这五个类别
  • DataDocList,就是spss的数据文件列表。用它来读取、修改、操作数据,数据文件的后缀名是sav
  • SyntaxDocsList,就是spss的syntax文件列表,里面都是syntax代码,或者可能掺杂有python代码,它用于读取、修改、操作syntax代码,syntax文件的后缀名是sps
  • OutputDocsList,就是spss的统计结果输出文件列表,里面存放着spss的统计结果,我们可以在python中使用该类来修改、操作结果数据,结果输出文件的后缀名比较熟悉,就是spv
  • SpssServerConfList,该类用于spssserver,由于在我的工作中并没有用到过spss服务器,所以我的教程里不包括spssserver的相关内容

  • SpssScriptContext,该类用于返回脚本文件的环境,现在还不涉及,以后用可能用到,但不是现在。

转载请注明来自DataScience.

邮箱: 675495787@qq.com

python教程:[74]列表排序

列表排序,做数据经常用到的一个方法,在python中想实现排序有时候觉得挺难,比如按照行排序或按照列排序,写起来都不简单,今天在这里总结一下在python中实现排序的所有方法,如有不全,请下面留言。

  • 最简单的排序莫过于直接使用sort对一维的列表排序,创建一个列表
  • 使用sort就地排序(就地排序就是改变了原始list的排序,而sorted不改变原始list数据)
  • 可以使用reverse参数进行反向排序。
  • 创建一个二维列表
  • 使用operator进行排序,还是sort方法,使用key参数,下面根据第二列数据排序
  • 多维排序,先根据第一列排序,然而第二列,然后第三列
  • lambda用于写匿名函数,根据第二列数据排序,x表示列表中的元素,x[1]表示元素中的第二个值
  • 反向排序
  • 元组排序和list排序一样,当然还可以对object构成的列表排序,下面创建一个元组构成的列表
  • 使用operator
  • 使用lambda

转载请注明来自DataScience.

邮箱: 675495787@qq.com

Excel2013:[2]从单元格批量创建文件夹

今天要给每个一学生整理一个文件夹,存放他们的资料,我看了看Excel里的名单,好家伙,100多个名单,要创建100多个文件夹,累挺。我只能用程序来创建了,其实Excel可以帮助我们干很多事情,现在就让你知道,它还能写程序。当然你不懂代码也能做啦,不信就看看。

  • 假如,我们要给每个一名字创建一个文件夹
  • 在B1输入公式=”MD “ & A1 ,注意这个公式中,MD后面还有一个额空格,公式的意思就是在名字前面增加了一个MD和空格
  • 向下拖拽,快速填充所有的行
  • 我们会看到生成这么一列,我们需要将其复制下来
  • 粘贴到文本文件里,然后保存为bat文件
  • 我们看到这个文件就在这里呢,双击打开运行
  • 批量创建的文件夹就在这里喽。

转载请注明来自DataScience.

邮箱: 675495787@qq.com

python 线性代数:[11]判断正定矩阵

正定矩阵的定义是:设M是n阶方阵,如果对任何非零向量z,都有 z’Mz > 0,其中z’ 表示z的转置,就称M正定矩阵。这个定义你先搞懂,不懂的看课本去,我这里就直接用python来检验某个方阵是不是正定矩阵(用二维数组表示矩阵)。

  • 我们用到的一个重要性质是:判定定理1:对称阵A为正定的充分必要条件是:A的特征值全为正。所以我们只要求得对称阵A的所有特征值即可。

  • 引入numpy模块

  • 创建一个方阵A
  • 将方阵转换成对称阵的方法是:
  • 求对称阵A的特征值
  • 判断是不是所有的特征值都大于0,用到了all函数,显然对称阵A不是正定的
  • 我们来创建一个单位矩阵,它肯定是对称的,同样的方法检验是不是正定矩阵
  • 网上查到更简便的方法是对对称阵进行cholesky分解,如果像这样没有提示出错,就说明它是正定的
  • 如果提示出错,就说明它不是正定矩阵,你可以使用try函数捕获错误值
  • 以下是今天用到的部分代码:

  • import numpy

  • A=range(16)

  • A

  • [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

  • A=numpy.array(A).reshape(4,4)

  • A

  • array([[ 0, 1, 2, 3],

  •    [ 4,  5,  6,  7],
    
  •    [ 8,  9, 10, 11],
    
  •    [12, 13, 14, 15]])
    
  • A=A+A.T

  • A

  • array([[ 0, 5, 10, 15],

  •    [ 5, 10, 15, 20],
    
  •    [10, 15, 20, 25],
    
  •    [15, 20, 25, 30]])
    
  • B=numpy.linalg.eigvals(A)

  • B

  • array([ 6.74165739e+01 +0.00000000e+00j,

  •     -7.41657387e+00 +0.00000000e+00j,
    
  •     -8.88285420e-17 +1.82759332e-15j,  -8.88285420e-17 -1.82759332e-15j])
    
  • if numpy.all(B>0):print ‘是正定矩阵’

  • C=numpy.linalg.cholesky(A)

  • Traceback (most recent call last):

  • File “<pyshell#41>”, line 1, in

  • C=numpy.linalg.cholesky(A)
    
  • File “D:Python27libsite-packages
    umpy-1.8.0-py2.7-win-amd64.egg
    umpylinalglinalg.py”, line 603, in cholesky

  • return wrap(gufunc(a, signature=signature, extobj=extobj).astype(result_t))
    
  • File “D:Python27libsite-packages
    umpy-1.8.0-py2.7-win-amd64.egg
    umpylinalglinalg.py”, line 93, in _raise_linalgerror_nonposdef

  • raise LinAlgError("Matrix is not positive definite")
    
  • LinAlgError: Matrix is not positive definite

  • A=numpy.eye(4)

  • A

  • array([[ 1., 0., 0., 0.],

  •    [ 0.,  1.,  0.,  0.],
    
  •    [ 0.,  0.,  1.,  0.],
    
  •    [ 0.,  0.,  0.,  1.]])
    
  • B=numpy.linalg.eigvals(A)

  • B

  • array([ 1., 1., 1., 1.])

  • if numpy.all(B>0):print ‘是正定矩阵’

  • 是正定矩阵

  • C=numpy.linalg.cholesky(A)

  • C

  • array([[ 1., 0., 0., 0.],

  •    [ 0.,  1.,  0.,  0.],
    
  •    [ 0.,  0.,  1.,  0.],
    
  •    [ 0.,  0.,  0.,  1.]])
    

转载请注明来自DataScience.

邮箱: 675495787@qq.com

DataNitro:[2]调用Python的方法

作为入门的第二篇文章,我们还是要讲一些基础的东西,这篇文章我们介绍一下如何在datanitro下使用Python来操作excel。

  • 第一种方式,我们可以在Python shell里面运行Python代码,点击它打开
  • 一开始我们会看到这个界面,出现了欢迎信息,说明你的datanitro Python shell是可以工作的。
  • 输入一个简单的命令:Cell(1,1).value=’hello world’(注意大小写);按回车就可以执行
  • 这段代码的效果就是单元格A1赋值为hello world
  • 我们可以使用Python中已经安装的包:
  • 我们可以先建立一个Python的脚本文件**.py,然后引入该文件:点击import
  • 找到该Python文件并打开
  • 你会看到这个文件已经被引入,点击editor就可以编辑该文件
  • 编辑器也是够难看的!但是我们可以先输入以下代码试试:注意#号表示注释,没有任何作用,实质上只有一句话有用:Cell(1,3).value=u’中文’
  • 然后回到excel,点击run,就可以执行命令
  • 用过excel函数的都知道它有多么强大,现在我们有机会写自己的函数了,我们需要先建立一个名字为functions.py的文件
  • 在里面写入一个function并保存
  • 记得检查在设置里面是否有允许使用Python自定义函数,如果你没有选,你需要选上他,然后重启excel
  • 现在在单元格里使用一下该函数,你可以看到效果:

转载请注明来自DataScience.

邮箱: 675495787@qq.com

excel2007如何设置访问权限

设置访问权限就是允许有限的几个用户进行查看和修改excel,我们通过填写用户的ID即可 允许他们查看工作表,而他们的ID也就是在微软免费注册的账号,相信很多人都有这个账号的,如果没有,安装office的时候会提示你申请账号的。
方法/步骤

  • 新建一个excel工作簿:右键单击空白位置,然后选择新建–excel
  • 打开excel,在工具栏上执行:审阅—保护工作簿
  • 打开一个下拉列表,在这个列表里选择【限制访问】
  • 弹出权限对话框,在这个对话框里,我们勾选【限制对此工作簿的权限】,然后你就能对下面的内容进行更改。
  • 在这里输入允许查看和更改该工作簿的用户的ID,有人问这个ID是什么,这是在微软里注册的账号,如果你没有微软的账号是不允许设置权限的,你根本看不到该页面。它会提示你注册账号。
  • 点击【其他选项】进行更高级的设置
  • 打开高级设置对话框,这里可以设置文件的有效期,过了有效期加密文件就会失效。点击下拉列表可以选择到期时间。
  • 下面三个选项是用户可选的三个具体权限,你想要允许他人进行哪些操作:打印,复制,还是编程
  • 最后填写一下索取权限的邮件地址,也就是你的邮件的地址,当用户想要更改自己的权限的时候,就可以给你发送邮件。
  • 设置完成后,保存文档即可。

转载请注明来自DataScience.

邮箱: 675495787@qq.com

spss怎样将两批数据合并

我们看到下图中有两个sav文件,也就是两批数据,这两批数据的变量都是一样的,只是不同时间收集的两批数据,现在我们要合并者两个文件,得到一批总的数据,怎么办?下面是具体的步骤奥。
工具/原料

  • spss 20.0
    方法/步骤

  • 打开spss,先打开一个sav文件,然后在菜单栏上执行:data—merge files–add cases,打开合并文件的窗口

  • 接下来你看到的这个窗口可能有两种情况,一个情况是你只打开了一个要合并的sav文件,另一个文件没有打开,那么你要选择第二个选项,如图所示,然后点击浏览按钮
  • 打开浏览窗口,找到你的第二个数据,然后选中它,点击打开,这样就完成了基本的合并文件的操作
  • 回到了合并文件的主对话框,点击continue按钮,进入合并数据向导。
  • 如果我们同时打开了两个数据文件,那么在合并文件对话框中,你会看到第一个选项中有第二个文件,如图所示,这时候你直接在这里选择该文件即可,同样是点击continue即可合并数据
  • 在该向导里,你会遇到两种情况,第一个情况是在upaired variables列表里有有量,如图所示,这时候你要决定这个变量有没有用,如果没用就不用管他,在新的数据里他就不会出现。如果这个变量是有用的,选中这个变量,点击下面的rename
  • 打开一个rename对话框,输入新的名称,然后点击continue,回到上面的对话框
  • 点击添加按钮,即可完成变量的添加,注意,因为该变量只存在于一个sav文件中,所以合并数据以后,有部分case在该变量上是没有值得。
  • 点击ok按钮,数据合并完成。

转载请注明来自DataScience.

邮箱: 675495787@qq.com