在我的一项研究中,参与者给了我时间
我现在想要计算一个新变量,表明这两个时间点之间的持续时间。
我已经使用了SPPS的内置TimeWizard和函数newVar = CTIME.HOURS(outofbed-bedtime)
。这对于24.00之前的就寝时间没有给出正确的结果(例如23.00-7.00 = 16h,而不是8h)。
我彻底使用了我的googlefoo技能,但我发现的所有答案都使用了日期和时间的信息(例如dd:mm:hh:mm)。我预计问题是SPSS在内部将所有日期时间信息保存为格里历日历开始后的秒数。由于我缺少日期信息,因此SPSS没有可以计算的绝对值。至少,到目前为止,这是我的假设。
我希望你知道我的问题的解决方案。 干杯,Dekay
答案 0 :(得分:0)
好吧,你可以计算24 - CTIME.HOURS(bedtime - outofbed)
- 这可以解释为计算清醒时间然后从24小时减去。
你需要注意那些有不同日程安排的人,比如夜班人员。下面的逻辑应该解决这个问题,假设那些时间安排的人总是在白天晚些时候起床而不是睡觉。
DATA LIST FREE / outofbed bedtime (2TIME5).
BEGIN DATA
08:00 22:00
06:00 21:00
05:30 20:30
21:45 07:00
END DATA.
DO IF outofbed < bedtime.
COMPUTE sleepDur = 24 - CTIME.HOURS(bedtime-outofbed).
ELSE.
COMPUTE sleepDur = CTIME.HOURS(outofbed-bedtime).
END IF.
EXECUTE.