美文网首页医学生的统计学习
4. SPSS+Excel联用生成频数表

4. SPSS+Excel联用生成频数表

作者: 路人乙小明 | 来源:发表于2019-04-08 12:08 被阅读0次

本文的视频操作地址

首先,在excel2013版本可以直接使用excel选项>加载项>管理(A):excel加载项 点转到按钮。


点击管理 excel加载项右侧的转到

把分析工具加载进来


捕获.JPG
之后就可以在数据>数据分析这里点开分析工具
捕获.JPG

这里面有直方图工具,我觉得比spss的工具好用很多。但是考虑到早先的excel版本不一定有这个功能。所以这里讲一下怎么使用spss和excel联用生成频数表以及直方图


正文开始

excel部分

数据我是使用=norm.inv(rand(),10,2)随机生成的,数据表大概长成这样:

数据表名称是:频数表数据

编码的步骤主要是以下几步

  1. 求最大值(记为max)=max(频数表数据[x])和最小值(记为min)=min(频数表数据[x])
  2. 求极差(记为range)使用最大值减最小值
  3. 求组数(记为bins)和组距(记为size),常规是使用极差开平方然后向上取整。不过当极差过小的时候,或许组数直接取10会更合适一些。相应的,组数求好了以后,组距就是极差除以组数向上取整,=roundup(range/bins)
  4. 写出变量编码表。变量编码表主要有3列,第一列是组最小值(记为x),第二列为编码,记为code,第三列为标签,记为label。接下来主要讲一下这三列如何生成

编码表的制作

编码表最好不要和数据放在同一个工作表里面,免得到spss处理的时候给自己添加麻烦。

第一列

第一列组最小值比较容易,首先第一行是变量x的最小值(min),之后下面每一行都是上一行的数值加上组距(size)。这里需要注意的是公式的填充会造成坐标偏移,所以组距的坐标需要转成绝对位置。这里假设min的数据在E3,size的数据在E6,则频数表第一列的前两行分别是=E3=E3+$E$6,之后把第二行的公式往下填充。
至于填充多少呢,编码表的行数应该是组数bins+1,当然你也可以往下直接拖动,然后看到某个格子比最大值还大就可以到此为止了。

第二列 编码以及回写

这一步就没什么了,可以直接按照序列给第二列各个格子按照1,2,3...编码。主要是怎么把这些编码回写到数据表,让一个数据对应一个编码。
这里就要依靠vlookup公式了。vlookup的默认模式就是模糊查找。关于模糊查找之前有一篇文章做了比较多的讲解,这里不多作重复。这里使用的公式如下图所示:

使用公式

第三列 标签(label)

label这一列是等一下交给spss去给变量值添加标签用的,这里使用excel的文本合成公式,以第三列第一行为例:="'"&[@x]&"~"&H4&"'"

单元格引用情况

这是为了生成类似'5.926.92'这样的两边有单引号,前后分别是当前组的最小值和最大值的数值标签。其中5.92和6.92是不断变化的,所以分别使用[@x]和相对当前单元格的坐标H4引用这两个值。而像单引号,这些符号就通过"'"(两个双引号括住一个单引号),""来加入到公式里。至于变量和不同的字符之间就通过&符号连接

SPSS部分。

现在excel部分的工作已经完成了。接下来要在spss里面打开我们的数据。在这之前最好保证当前工作表里只有数据,没有编码表。

接下来用spss打开刚才的excel表(记得在打开数据的时候文件类型选择excel表):

选择数据所在的工作表sheet1

之后可以看到数据已经都在了,从变量视图可以看到,编码这里现在还没有标签,如果现在做频数表(分析>描述统计>频率)得到的是下表:

不完美的频数表

这些个123是什么东西呢?所以还是做一下数值编码才方便后续分析。但是spss的数值编码非常的蠢,只能一个按钮一个按钮的点击输入。对于蠢人来说确实是这样的。实际上spss是支持命令输入的。

使用spss命令(syntax)

依次点击文件>新建>语法(file>new>syntax),之后可以看到这个界面

捕获.JPG

右下方区域输入命令,然后全选,点击工具栏上的绿色三角箭头运行就可以运行命令了。关于value labels命令这里做一下说明,一般这个命令的形式是这样的:

VALUE LABELS
变量名称
变量值1 '标签1'
变量值2 '标签2'
...
变量值n '标签n'

EXECUTE

所以具体到我们这个例子,命令就是

VALUE LABELS
编码
1 '4.43~6.43'
2 '6.43~8.43'
...

EXECUTE

而中间这些内容可以直接复制粘贴实现:


从Excel复制频数表的第二第三列,粘贴进命令窗口

全选,点运行(绿色三角),接下来再生成频数表就像下表所示了:

完善后的频数表

相关文章

  • 4. SPSS+Excel联用生成频数表

    本文的视频操作地址 首先,在excel2013版本可以直接使用excel选项>加载项>管理(A):excel加载项...

  • 统计学入门(二)-连续变量的统计描述

    首先来了解下什么是频数表,如下图 频数表(frequency table):是一种非常直观的方法,但是比较粗糙 频...

  • 十七、多态(二)

    1. 多态的实现原理 1.1虚函数表和vptr指针 当类中声明虚函数时,编译器会在类中生成一个虚函数表; 虚函数表...

  • 如何生成相关系数表?

    想要的结果表是这样的? 用Python如何生成相关系数表呢?

  • 初识药品(六)——药品的联用与禁止搭配

    一、药物之间的联用: (1)西西联用: ①磺胺甲恶唑与甲氧苄啶; ...

  • Android_签名

    生成签名文件 命令行 keytool工具是Java JDK自带的证书工具-genkey参数表示:要生成一个证书(版...

  • 定位理论中的关联用法

    关联用法介绍 关联用法,一言以概之就是通过旧的信息与新的信息发生关联帮助新的信息进入心智,因此关联用法也不仅仅...

  • 4.感恩同频(2019.1.2)

    经历了元旦三天假期,感觉女儿过了一个在我看来非常混乱的假期,大把的时间都在上网和电视里泡着,我有过焦虑,有过对老师...

  • Linux中gdb调试

    编译生成调试文件: 其中-g参数表示用gdb调试,test1.c表示源C文件,test1是生成的可执行文件。 安装...

  • 生成无功补偿计算容量系数表

    学习Python数据处理的过程中,正好遇到了一个工作中的问题,测试下,将过程记录下来。 生成无功补偿计算容量系数表...

网友评论

    本文标题:4. SPSS+Excel联用生成频数表

    本文链接:https://www.haomeiwen.com/subject/qscuiqtx.html