如何计算每条记录的睡眠小时数

我有一个数据集为每个孩子,当每个孩子去床上,当他们在早上醒来。我想计算的睡眠小时数如何计算每条记录的睡眠小时数

下面是只是一个简单的数据:

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。同时假设time2time1datetime格式。

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

回到顶部