SPSS 数值变量基础

By Ruben Geert van den Berg under SPSS Blog

引言

对 SPSS 数值变量有一个基本的了解,能够让你快速且自信地工作。本教程旨在通过指出一些基本的要点来实现这一目标。你可以通过下载并打开 hospital.sav 文件来跟随本教程进行操作。

SPSS Hospital Dataset

SPSS 数值变量 - 是什么?

数值变量是 SPSS 的两种 变量类型 之一。 它们可以定义为仅包含数字作为值的变量。 更准确地说,它们的值是 双精度浮点数。 这并不像看起来那么明显,因为数值可能看起来根本不像数字。 当我们意识到我们看到的值可能与实际值(非常)不同时,我们将能够更高效地完成工作,尤其是在处理 日期变量时间变量 时。 我们将在稍后通过一些例子来证明这一点。

SPSS 数值格式

SPSS 的标准数值格式是 “F”格式。 它控制值的显示方式。 例如,F5.2 显示为 “12.34”。 F 格式的基本规则是:

  • 它的第一个数字是显示的总字符数。 这包括小数点分隔符(如果需要)。 在 变量视图(variable view) 下显示为 “Width”,如下面的屏幕截图所示。
  • 第二个数字是显示的小数位数。 在变量视图下显示为 “Decimals”。 它必须始终小于第一个数字,因为小数点分隔符(如果存在)占用一个字符。
  • 第二个数字是可选的。 例如,F5F5.0 的简写

SPSS Numeric Variable Format under Variable View

这里可能引起混淆的一个原因是,即使设置的字符不足,SPSS 也会始终尝试显示所有整数。 例如,在我们的数据上运行 formats visit_id(f1).。 我们在变量视图下看到 visit_id 的宽度确实是 1,但是在 数据视图(data view) 下,我们仍然看到 5 位数字。 目前,一切似乎都很好。 但是,变量宽度不足可能会在某些情况下引起问题。 SPSS 中的其他数值格式包括日期、时间、日期时间和其他一些格式。 我们将在单独的教程中讨论这些格式。

SPSS 数值变量 - 隐藏的小数

本教程的一个要点是,SPSS 中的实际数值可能与我们看到的值不同。 意识到这一点可以消除很多困惑。 为了明确这一点,让我们通过运行 FREQUENCIES 来检查 gender(性别)的频率表。 屏幕截图显示了结果表。

***1. Show both values and value labels in output.
**
set tnumbers both.

***2. Frequencies gender.
**
frequencies gender.

SPSS Numeric Variables Hidden Decimals in Output

到目前为止,没有什么特别的,对吧? 好的,现在让我们做一些不寻常的事情:我们将为 gender 的所有值加 0.1,然后重新运行我们刚才看到的表。 结果显示在下一个屏幕截图中。

***1. Add 0.1 to the actual values of gender.
**
compute gender = gender + .1.

***2. Due to the F1 format, 0.1 is shown as 0 and 1.1 as 1.
**
frequencies gender.

SPSS Numeric Variables Hidden Decimals in Output

值标签发生了什么变化? 嗯,什么也没有;值标签是给值 0 和 1 的,但是 gender 现在的值为 0.1 和 1.1。 没有为这些值提供标签。 令人困惑的部分是,在 输出查看器窗口(output viewer window) 中,0.1 和 1.1 显示为 0 和 1。 数据视图也是如此。 但是,在这里,我们在选择一个单元格后,会在公式栏中看到实际值。 屏幕截图显示了这一点。

SPSS Numeric Variables Hidden Decimals in Data Editor

通过显示额外的小数,情况变得非常清楚。 我们可以通过运行 formats gender(f3.1). 来做到这一点。 请记住,显示额外的小数不会改变实际值的任何内容。 它们仍然是 0.1 和 1.1。 现在,你可能会认为,当我们单击其中一个单元格时,我们始终可以在公式栏中看到实际值,如屏幕截图所示。 但是,对于除 F 之外的其他数值格式,情况并非如此,我们将在下面展示。

SPSS 数值变量 - 日期时间(Datetime)

现在,让我们单击 exit_moment 的任何值。 公式栏将完全显示我们单击的值,如屏幕截图所示。

SPSS Numeric Variables Datetime

请记住,数值变量可能仅包含数字。 因此,我们看到的值(包括一些字母)不可能是实际值。 为了看到后者,请运行 formats exit_moment(f1).

SPSS Numeric Variables Datetime

正如我们在公式栏中看到的那样,实际值是一个带有许多小数位的巨大数字。 为什么这很重要? 嗯,数值函数就是在这个实际值上运行的。 现在,在不超出范围的情况下,SPSS 日期时间变量包含秒数。 由于一个小时包含 3600 秒,因此简单地将 3600 添加到所有值等效于将它们增加一小时。 如果我们以日期时间格式显示我们的日期时间值,这也是有效的,如下面的语法所示。

***1. Show datetime as datetime22 format ("8-Jan-2013 19:34:05").
**
formats exit_moment(datetime22).

***2. Set all datetime values one hour ahead.
**
compute exit_moment = exit_moment + 3600.
exe.