如何计算每条记录的睡眠小时数
我有一个数据集为每个孩子,当每个孩子去床上,当他们在早上醒来。我想计算的睡眠小时数如何计算每条记录的睡眠小时数
下面是只是一个简单的数据:
id time1(kids go bed) time2(kids wake up time) 101 12:00(am) 5:00(pm)
102 3:00(am) 9:30(am)
103 7:00(pm) 6:00(am)
104 4:15(am) 2:00(pm)
正如你可以看到我有恩的不同时间的组合:他们去睡觉凌晨( AM),第二天下午傍晚醒来(PM)。
让我知道如果您有任何问题吗?
回答:
您需要做的就是创建一个名为SleepHour
的新列,这个列基于孩子们什么时候睡觉和什么时候醒来。
使用你的数据,然后SleepHour = Time2 - Time1
。同时假设time2
和time1
是datetime
格式。
data WANT; set HAVE;
SleepHour = (Time2 - Time1)/3600; /* seconds to hours */
run;
但我猜的原始数据可能只包含time
部分不date
一部分。所以你需要澄清你想如何计算no. of hours
。
那么,让我们假设孩子不会每天24小时以上睡觉。那么你需要一个if
条件来计算no of hours
。
data WANT; set HAVE;
if hour(time2) ge hour(time1) then SleepHour = (Time2 - Time1)/3600;
else SleepHour = (Time2 + 24*3600 - Time1)/3600;
run;
以上是 如何计算每条记录的睡眠小时数 的全部内容, 来源链接: utcz.com/qa/259051.html