为了帮助更多的临床医师学习如何运用JMP高效地开展数据分析,提高日常工作和发表论文的效率,2020年8月起,JMP资深用户、JMP特约专栏作者、资深统计学家冯国双博士及其团队将在JMP数据分析平台为大家分享一系列统计及数据分析、JMP实战操作等干货内容,每期一个经典话题,帮助大家掌握一个新技能。值得注意的是,这些话题并非仅针对临床医师,对所有运用JMP软件开展数据分析的小伙伴都适用。
本文为此系列文章的第三期。冯博士及其团队继续为大家带来JMP软件的基础知识与操作—变量的类型,以及变量标签的设置。
可能有的朋友会觉得,变量类型有什么好讲的,我都知道。是的,变量类型本身不难,但是在JMP中,如果真的能够灵活运用变量类型的设置,你会发现一个丰富多彩的结果天地。所以,仔细看一下本文,你会恍然发现,原来JMP中的变量类型设置有隐藏着这么多的技巧和秘密!
我们以一个名为“Diabetes”的数据集为例,导入数据后呈现图1状态。
图1 示例数据
01 先从变量名称说起
如果你想改变某个变量的名称,例如将“性别”改为“Gender”,有两种方式可以做到。
- 第一种,在想改变名称的变量名上点击鼠标右键,左键选择“列信息”,弹出窗口在框里填入想更改的变量名称点击确定即可,如图2。
图2 更改变量名方法1
- 另一种方式,是在窗口左侧的变量列表中选中你想更改名称的变量,再单击一次变成可编辑模式(如图3),填入新的变量名,点击空白处或按回车即可。
图3 更改变量名方法2
02 重头戏——变量类型“列信息”窗口不仅能更改变量名称,还能还能更改变量类型。
在导入数据时,JMP为每个变量确定两种类型,如图4,分别是“数据类型”和“建模类型”。
图4 变量类型示意图
- “数据类型”决定了变量在JMP中的存储格式,其下拉菜单有四种类型,如图5,一般情况下,我们的数据只会涉及到数值型和字符型两种:数值型变量均为数字,可进行运算,而字符型变量可以包含字母、数字或是字母和数字的组合,且不能进行运算。
- 这里我们可以更改“数据类型”,但有一点需要特别注意:如果你将字符型变量更改成数值型,那么变量中所有的字符值将变为缺失值,且不能复原。所以,如果没有必要,不要轻易尝试修改系统默认的设置。
图5 数据类型示意图
- “建模类型”决定了JMP在进行数据分析时如何处理该变量,其下拉菜单中包括多个选项,一般情况下,我们只会用到前三种:连续型、有序型以及名义型,见图7。
好,明确了变量类型后,下面我们看看变量类型的设置到底对JMP作图、制表和统计分析有什么影响,以及如何变换变量类型。
03 变量类型决定了JMP将如何呈现你的表和图
话不多说,上图。图6和图8展示了当“年龄”作为“连续型”变量时,JMP呈现的表和图的状态;图7和图9展示了当“年龄”作为“名义型”变量时,JMP呈现的表和图的状态。
在制表时,将年龄拖入制表的横标目,“连续型”年龄的纵标目自动出现“总和”,你还可以自己添加均数、标准差等用来描述连续型变量的指标(图6);
图6 连续变量制表展示的统计量
“名义型”年龄的纵标目自动出现每一个年龄值的数目(因为年龄此时作为多分类变量),你还可以自己添加列百分比等用来描述分类变量的指标(图7)。
图7 分类变量制表展示的统计量
在作图时,当我们将年龄拖入图形生成器的X轴并点击上方的条形图按钮,“连续型”年龄即出现年龄分布的分布图,每个柱子代表在一定的年龄区间内的观测数(图8);
图8 连续变量展示的分布图
而“名义型”年龄的每一条柱子代表该年龄值(代表多分类变量中的一个类)的观测数(图9)。
图9 分类变量展示的频数图
可能大家对刚才举例中的图表做法还不是很清楚,别着急,我们会在后文章中有详尽的介绍。
04 JMP可根据变量类型自动选取适当模型
以广义回归模型为例,在顶部菜单栏选择分析→拟合模型,弹出对话框的右侧在特质框内选择广义线性。我们在示例数据里分别设置了连续型、有序型以及名义型的Y作为因变量。
当我们将连续型的Y放入Y(因变量)的框中后,JMP默认给出的分布为正态,下拉框可选择的分布显示如图10,注意此时logistic回归为灰色,无法选择。
图10 连续变量默认的方法
当我们将名义型的Y放入Y(因变量)的框中后,JMP默认给出的分布为二项(图11),且下拉框其他的选项为灰色(不可选择)。
图11 分类变量默认的方法
当我们将有序型的Y放入Y(因变量)的框中后,JMP默认给出的分布为有序型Logistic(图12),其下拉菜单中除了“多项式”,其他的选项均为灰色(不可选择)。
图12 有序变量默认的方法
05 不同类型变量做自变量时参数估计结果不同仍然以广义回归为例,我们将年龄(连续型)生成按照年龄段分组的新变量,分别设定其为名义型和有序型,以Y(连续型)为因变量,分别以年龄(连续型)、年龄(名义型)以及年龄(有序型)作为自变量,构建广义回归模型,结果见图13-图15。
当自变量为连续型变量时,变量的参数估计值只有一个(图13),其含义是年龄每增加1岁,因变量的平均改变情况。
图13 连续自变量的参数估计结果
当年龄作为多分类变量进入模型时,模型默认将排在最后一位的类别作为参照,其余每一类与参照的比较均产生一个参数估计值(图14)。比如这个例子中,我们将年龄分为3个年龄段:<50、50-59、>=60。以>=60作为参照,其余2个年龄段与该类进行比较。其含义分别显示了<50与>=60相比、50-59与>=60相比的结果。
图14 分类变量的参数估计结果
当然,也可以设其它类作为参照组,具体可通过值顺序进行调整,详见后面介绍的“值顺序”操作。
当年龄作为有序变量进入模型时,其结果显示的是相邻两个类别的比较(图15)。其含义分别显示了50-59与<50、>=60与50-59相比的结果。
图15 有序变量的参数估计结果 大家可以对比一下图14和图15,不难理解作为名义型(无序分类)和有序型的结果的区别在哪里。
06 怎样更改变量类型?更改变量类型有两种方式:
一种方式是在列信息中进行修改(图16);
图16 更改变量类型方法一
另一种方式是在数据表左侧变量列表中点击变量前的图标即可更改(图17)。
图17 更改变量类型方法二
在更改变量类型时,有以下几个需要注意的地方:
(1)“建模类型”为连续型的变量,其“数据类型”只能是数值型;
(2)“建模类型”为名义型变量,其“数据类型”既可以是数值也可以是字符,在建模时,JMP将其作为没有顺序的离散型变量;
(3)“建模类型”为有序型,和名义型一样,其变量的“数据类型”可以是数值或字符,在建模时,JMP将其作为有顺序的离散型变量。
了解完变量类型对作图、报表和分析的影响后,我们再看看看如何调整值顺序。这也是大家常常关注的一个话题。
07 如何调整名义型和有序型的值顺序?
对于名义型和有序型,学会如何调整变量值的顺序比较重要。
如果变量值是1、2、3…等数字,这种情况下不用担心顺序问题,软件将按照数字大小认定变量的顺序。如图形展示时,坐标会根据这些数字依次排序。
但如果你的值用的是类似“high”、“medium”、“low”等字母或其它字符, JMP默认按照字母表顺序认定该变量的顺序,即“high”、“low”、“medium”的顺序。
对于变量值是字母或其它字符的变量,有时它们的顺序并不是我们期望的。如上述例子中,JMP的默认顺序(字母顺序)其实是“high”、“low”、“medium”,这种情况下,无论在图表中,还是统计分析结果中,都是按这一顺序显示,显然这不符合我们的期望。我们期望看到的是“high”、“medium”、“low”这种顺序。这就需要学会如何修改变量值的顺序。
修改变量值顺序有两种方式:
(1)选中想要修改的列,右键菜单列属性→值顺序(图18);
图18 调整名义型和有序型的值顺序方法一
(2)在列信息窗口点击列属性→值顺序(图19);
图19 调整名义型和有序型的值顺序方法二
08 变量标签对于分类变量,尽管我们可以在录入时直接以字符的形式录入,如前面提到的high、medium、low,但绝大多数情况下,我们在录入数据时都是数字形式(如将high、medium、low分别录成1、2、3),这是为了分析方便,而且数据表看起来整洁。
但从结果展示角度,其实我们更希望看到每一类所代表的含义(如在图中直接显示“high”、“medium”、“low”,而不是1、2、3)。这种情况下,就需要用到数据标签功能了。
下面就给大家介绍JMP的“值标签”功能,一经设置,可在生成图表中直接使用标签,既节省时间又增加了结果的可读性。
同样,有两种方式设置值标签:
- 一是在列信息窗口点击列属性→值标签(图20);
图20 设置变量标签方法一
- 二是选中列之后,右键菜单列属性→值标签(图21);
图21 设置变量标签方法二
如果将来你突然不想看标签了,想看原始数据,那也很简单,无需删除已设置好的值标签,只需在变量上点击右键,出现的菜单中,把“使用值标签”前面的对号勾选掉就可以了(图22)。
图22 取消值标签
|