将包含日期的字符串变量转换为SPSS中的日期变量
Converting string variable that contains date into a date variable in SPSS
我的目标是将包含日期的字符串变量“生日”转换为日期变量。
当我 运行 我的语法我得到这个“要通过数字函数转换的字符串是零长度”。
我认为缺失值有问题。
我的数据集如下所示:
birthday
2004-07-01 00:00:00
2005-09-01 00:00:00
2006-03-01 00:00:00
2007-07-01 00:00:00
我写的语法:
RECODE birthday (MISSING='99').
EXECUTE.
COMPUTE geboortedatum=number(birthday, YMDHMS19).
VARIABLE LABELS birthday ''.
VARIABLE LEVEL birthday (SCALE).
FORMATS birthday (MOYR8).
VARIABLE WIDTH birthday(8).
EXECUTE.
您收到的消息是指 birthday
为空的情况。
请注意,由于这是一个字符串变量而不是数字,尽管那里缺少日期,但除非您这样定义,否则 spss 不会将其识别为缺失数据。所以你的重新编码命令 RECODE birthday (MISSING='99').
不会有任何效果,你应该把它改成:
RECODE birthday (''='99').
现在无论哪种方式,空或 '99'
,日期函数将无法处理该值,因此您将收到有关它的消息(并且新列中的值将丢失)。
如果你想避免收到消息,而不是 recode
命令,你可以这样做:
if birthday<>"" geboortedatum=number(birthday, YMDHMS19).
我的目标是将包含日期的字符串变量“生日”转换为日期变量。 当我 运行 我的语法我得到这个“要通过数字函数转换的字符串是零长度”。 我认为缺失值有问题。
我的数据集如下所示:
birthday
2004-07-01 00:00:00
2005-09-01 00:00:00
2006-03-01 00:00:00
2007-07-01 00:00:00
我写的语法:
RECODE birthday (MISSING='99').
EXECUTE.
COMPUTE geboortedatum=number(birthday, YMDHMS19).
VARIABLE LABELS birthday ''.
VARIABLE LEVEL birthday (SCALE).
FORMATS birthday (MOYR8).
VARIABLE WIDTH birthday(8).
EXECUTE.
您收到的消息是指 birthday
为空的情况。
请注意,由于这是一个字符串变量而不是数字,尽管那里缺少日期,但除非您这样定义,否则 spss 不会将其识别为缺失数据。所以你的重新编码命令 RECODE birthday (MISSING='99').
不会有任何效果,你应该把它改成:
RECODE birthday (''='99').
现在无论哪种方式,空或 '99'
,日期函数将无法处理该值,因此您将收到有关它的消息(并且新列中的值将丢失)。
如果你想避免收到消息,而不是 recode
命令,你可以这样做:
if birthday<>"" geboortedatum=number(birthday, YMDHMS19).