1

嗨,我是这个网站的新手,如果我没有彻底搜索这个问题,请原谅我!

基本上我正在做一个研究项目,其中一个变量是是否在正常工作时间内进行了 X 光检查。工作时间包括周一至周五,上午 8 点至下午 5 点。

我使用单独的变量 -[date+time (dd.mm.yyyy hh:mm)] -[time (hh:mm)] 输入了每个 X 射线的日期和时间。

我正计划手动输入这些信息,但我虽然肯定有办法自动化这个,因为我对 SPSS 的经验几乎为零,我想我应该请你们可爱的人来帮助我!

先感谢您

4

1 回答 1

0

下面我通过一个使用 xdate 函数来提取星期几的快速示例,然后构造一个 if 语句来确定这些日期时间是否在workhours.

*Making example data.
data list free / xray_date (ADATE10) xray_time (TIME5).
begin data
7/6/2011 2:21
10/11/2011 15:42
07/06/2011 02:21
3/15/2011 0:21
end data.

*Here is example to find day of week name, 1 is Sunday and 7 is Saturday.
compute day_week = Xdate.Wkday(xray_date).

*to identify times of day in an if statement we need to make specific variables.
string begin_time end_time (A5).
compute begin_time = "08:00".
compute end_time = "17:00".
alter type begin_time end_time (TIME5).

*Then you can just make an if statement to identify whether a date-time meets your requirements.
compute workhours = 0.
if day_week >= 2 and day_week <= 6 and xray_time >= begin_time and xray_time <= end_time workhours = 1.

对于这个特定示例,如果您运行该命令list all.,则结果输出将是;

 xray_date xray_time day_week begin_time end_time workhours 

07/06/2011    2:21    4.00000     8:00     17:00     .00000 
10/11/2011   15:42    3.00000     8:00     17:00    1.00000 
07/06/2011    2:21    4.00000     8:00     17:00     .00000 
03/15/2011    0:21    3.00000     8:00     17:00     .00000

您可以看到记录10/11/2011被适当分类,因为它是星期二并且在工作时间内。所有其他记录都不是在上午 8 点到下午 5 点之间,因此被初始化为workhours变量的零值。

于 2012-06-29T12:04:11.870 回答