SPSS中TIME变量格式转换问题:字符串转数值(hmm/hhmm格式)
解决SPSS中hmm/hhmm格式字符串转数值时间的问题
核心思路是先统一字符串格式为4位hhmm,再用时间函数转换,步骤如下:
补全3位hmm为4位hhmm
针对长度为3的字符串(如930代表9:30),在前面补0变成4位格式,执行以下命令:COMPUTE Time_A_4 = IF(LENGTH(Time_A)=3, CONCAT('0', Time_A), Time_A). EXECUTE.转换为数值型时间变量
使用TIME.HMS()函数,从统一后的4位字符串中拆分小时和分钟,转换为SPSS的数值时间(单位为秒):COMPUTE Time_Num = TIME.HMS( NUMBER(SUBSTR(Time_A_4, 1, 2), F2), // 提取前两位转为小时 NUMBER(SUBSTR(Time_A_4, 3, 2), F2), // 提取后两位转为分钟 0 // 秒数设为0 ). EXECUTE.设置时间显示格式
将数值变量设置为易读的时间格式(如HH:MM):FORMATS Time_Num (TIME5). EXECUTE.处理异常数据(可选)
如果存在非数字、长度不为3/4的脏数据,可将其设为缺失值:IF(NOT(ISNUMBER(Time_A)) OR LENGTH(Time_A) NOT IN (3,4)) Time_Num = $SYSMIS. EXECUTE.
内容的提问来源于stack exchange,提问作者TotorosForest
相关产品推荐
相关产品推荐

