提取数字的某些数字
Extracting some of the digits of a number
我正在尝试使用我拥有的数字变量的前四位计算一个新变量。
首先,我将现有的数字变量更改为字符串,然后在语法编辑器中使用以下代码:
COMPUTE New_Varible = NUMBER(SUBSTR(Student_ID,1,2),f4) .
EXECUTE .
当我 运行 第一行代码时,它进入转换挂起模式,并创建一个带有缺失值(点)的数字比例变量。但是当我 运行 执行时,新的比例变量突然变为标称值,没有显示任何值。我也用 'CHAR.SUBSTR' 命令尝试过,但无济于事。
P.S。
我在 Windows 10.
上使用 SPSS 26 版 64 位
我假设您的问题是在您将数字变量更改为字符串时开始的。如果字符串比数字宽,则字符串中数字左侧可能有一些额外的空格。所以你的命令是读取空格而不是数字,然后无法将它们转换为数字。
这个更正后的命令应该可以解决问题,使用 ltrim
在读取数字之前删除多余的空格(另请注意,您使用原始命令只读取了两个字符 - 此处更正为四个字符):
COMPUTE New_Varible = NUMBER(CHAR.SUBSTR(ltrim(Student_ID),1,4),f4) .
EXECUTE .
我正在尝试使用我拥有的数字变量的前四位计算一个新变量。
首先,我将现有的数字变量更改为字符串,然后在语法编辑器中使用以下代码:
COMPUTE New_Varible = NUMBER(SUBSTR(Student_ID,1,2),f4) .
EXECUTE .
当我 运行 第一行代码时,它进入转换挂起模式,并创建一个带有缺失值(点)的数字比例变量。但是当我 运行 执行时,新的比例变量突然变为标称值,没有显示任何值。我也用 'CHAR.SUBSTR' 命令尝试过,但无济于事。
P.S。 我在 Windows 10.
上使用 SPSS 26 版 64 位我假设您的问题是在您将数字变量更改为字符串时开始的。如果字符串比数字宽,则字符串中数字左侧可能有一些额外的空格。所以你的命令是读取空格而不是数字,然后无法将它们转换为数字。
这个更正后的命令应该可以解决问题,使用 ltrim
在读取数字之前删除多余的空格(另请注意,您使用原始命令只读取了两个字符 - 此处更正为四个字符):
COMPUTE New_Varible = NUMBER(CHAR.SUBSTR(ltrim(Student_ID),1,4),f4) .
EXECUTE .