将系统缺失值重新编码到 SPSS 中的同一变量中

问题描述 投票:0回答:1

我正在尝试将系统缺失值重新编码到SPSS中的同一变量中,该变量是日期,格式是dd-mmm-yyyy。 (嗯,例如八月或二月等)所以我所做的是:转换>重新编码为同一变量>选择变量>旧值和新值>旧值=系统缺失,新值= 09041853(只是因为我需要一个日期在我的数据集中不会发生)> 添加 > 继续 > 确定。

结果是:1583 年 1 月 26 日,这是一个完全不同的日期。

我必须输入日期,如 09041853,因为我不能输入 - ? ., 我也尝试过不同的格式 dd.mm.yyyy 和未来的不同日期,但这也变成了过去的不同日期。

我现在也不知道该填写什么作为缺失值,有人可以帮我解决这个问题吗?

date system missing-data spss
1个回答
0
投票

我不知道为什么您甚至需要在丢失数据的单元格中输入任何“假”日期。我个人会将它们留空,以便 SPSS 将这些单元格识别为系统缺失。

但是,如果您决定将日期“09-04-1853”放入缺失的单元格中,我发现了一种非常迂回的方法。

首先,将日期变量的类型(我们称之为“old_variable”)设置为字符串。如果您进入数据视图,您将看到空单元格中会有一些奇怪的字符串,其中有很多空白,例如

"          ."
(SPSS 在这里似乎有很多错误。有时它会显示带有句点的字符串,有时则不会 - 从左到右更改变量的对齐方式似乎可以揭示它)。

然后我必须复制此字符串

"          ."
并将其输入到重新编码命令以将其替换为所需的日期。我认为这是必要的,因为当将原始变量从日期更改为字符串时,字符串变量中的单元格不再系统丢失,而是在其中包含
"          ."
,因此尝试用“09-”替换字符串变量中的缺失值04-1853”不起作用。

然后您可以创建一个新变量:

STRING new_variable (A12).
RECODE old_variable ('          .'='09-04-1853') (ELSE=Copy) INTO new_variable.
EXECUTE.

或者更换旧的:

RECODE old_variable ('          .'='09-04-1853'). 
EXECUTE.

然后,您只需将类型更改回日期,即可获得具有所需日期的新变量,而不是空的缺失值单元格。

再次,我不明白你为什么要这样做。另外,可能有一种更干净、更少黑客的方法来做到这一点,但这是我目前能想到的最好的方法。

© www.soinside.com 2019 - 2024. All rights reserved.