提取数字的一些数字

问题描述

我正在尝试使用我拥有的数字变量的前四位数字来计算一个新变量。

首先,我将现有的数字变量更改为 String,然后在语法编辑器中使用以下代码

COmpuTE New_Varible = NUMBER(SUBSTR(Student_ID,1,2),f4) .
EXECUTE .

当我运行第一行代码时,它进入转换挂起模式,并创建一个带有缺失值(点)的数字刻度变量。但是当我运行执行时,新的比例变量突然变为名义变量,没有显示任何值。我也用'CHAR.SUBSTR'命令尝试过,但无济于事。

附言 我在 Windows 10 上使用 SPSS 26 版,64 位。

解决方法

我假设您的问题是在您将数字变量更改为字符串时开始的。如果字符串比数字宽,则字符串中数字的左侧可能会有一些额外的空格。因此,您的命令正在读取空格而不是数字,然后无法将它们转换为数字。

这个更正的命令应该可以解决问题,在读取数字之前使用 ltrim 删除多余的空格(还要注意,您使用原始命令只读取了两个字符 - 此处更正为四个):>

COMPUTE New_Varible = NUMBER(CHAR.SUBSTR(ltrim(Student_ID),1,4),f4) .
EXECUTE .