全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SPSS论坛
4225 0
2021-12-23

8. 用SPSS“日期函数”计算起止日期间隔及用途(分享之8)

福建省疾控中心  潘宝骏(13509366051@163.com)


* 用 SPSS 的“日期函数”,计算“某年月日”到另一“某年月日”

  起止日期的间隔,有许多用途:

  例如: a.计算起止日期的秒数/日数/月数/年数;

      b.起止日期的间隔天数(接触-发病的“潜伏期”天数);

      c.出生日期-当今日期的“实足天数”“实足月数”“实足岁数”等:.

* SPSS 中的日期格式,建议用 dd-mmm-yyyy.

* SPSS 中的日期,是从 1582.10.15 起算的 '秒数',

  也可转变为 '天数'。例如今天是 25-DEC-2021:.

*(1) 例如有10个人,“接触病人日期 beg”,“发病日期 sto”,

    请计算各间隔几天:潜伏期天数;注意:大量数据时要建立数据库.

DATA LIST FREE /id(N2) beg(DATE) sto(DATE).

BEGIN DATA.

1   1-DEC-2021   7-DEC-2021

2   2-DEC-2021   10-DEC-2021

3   3-DEC-2021   12-DEC-2021

4   4-DEC-2021   14-DEC-2021

5   5-DEC-2021   16-DEC-2021

6   6-DEC-2021   18-DEC-2021

7   7-DEC-2021   20-DEC-2021

8   8-DEC-2021   22-DEC-2021

9   9-DEC-2021   24-DEC-2021

10  10-DEC-2021   25-DEC-2021

END DATA.

*(1)计算起止日期的间隔天数(接触-发病的天数):.

* 计算 1582.10.15 到“今天”(25,12,2021)的天数(id=1 时:13859769600天):.

COMPUTE today = DATE.DMY(22,12,2021).

* 计算 1582.10.15 到“开始日期 beg”的天数(id=1 时:160390天):.

COMPUTE x1 = CTIME.DAYS(beg).

* 计算 1582.10.15 到“终止日期 sto”的天数(id=1 时:160396天):.

COMPUTE x2 = CTIME.DAYS(sto).

* 计算“开始日期 beg”到“终止日期 sto”的天数(id=1 时:6天):.

COMPUTE 间隔d=x2-x1.

LIST VARIABLES=id beg sto 间隔d /CASES=FROM 1 TO 10.

* 输出结果:

id      beg       sto     间隔d

1  01-DEC-2021   07-DEC-2021    6.00

2  02-DEC-2021   10-DEC-2021    8.00

3  03-DEC-2021   12-DEC-2021    9.00

4  04-DEC-2021   14-DEC-2021   10.00

5  05-DEC-2021   16-DEC-2021   11.00

6  06-DEC-2021   18-DEC-2021   12.00

7  07-DEC-2021   20-DEC-2021   13.00

8  08-DEC-2021   22-DEC-2021   14.00

9  09-DEC-2021   24-DEC-2021   15.00

10  10-DEC-2021   25-DEC-2021    15.00

*--------------------------------------------------------------------------.

*(2)计算起止日期的间隔年数(出生-今年的岁数):.

* 例如 10 个人的出生日期见下表,请计算其“实足天数”“实足月数”“实足岁数”:

  注意:大量数据时要建立数据库.

DATA LIST FREE /id(N2) beg(DATE) sto(DATE).

BEGIN DATA.

1   01-DEC-2020   25-DEC-2021

2   02-DEC-2018   25-DEC-2021

3   03-DEC-2011   25-DEC-2021

4   04-DEC-1992   25-DEC-2021

5   05-DEC-1982   25-DEC-2021

6   06-DEC-1972   25-DEC-2021

7   07-DEC-1962   25-DEC-2021

8   08-DEC-1952   25-DEC-2021

9   09-DEC-1942   25-DEC-2021

10   10-DEC-1939    25-DEC-2021

END DATA.

* 计算 1582.10.15 到“今天”(25,12,2021)的天数:.

COMPUTE today = DATE.DMY(25,12,2021).

* 计算 1582.10.15 到“出生日期 beg”的天数:.

COMPUTE x1 = CTIME.DAYS(beg).

* 计算 1582.10.15 到“今年日期 sto”的天数:.

COMPUTE x2 = CTIME.DAYS(sto).

* 计算“出生日期 beg”到“今年日期 sto”的“实足天数”“实足月数”“实足岁数”:.

COMPUTE 实足天数=x2-x1.

COMPUTE 实足月数=(x2-x1)/365.25*12.

COMPUTE 实足岁数=(x2-x1)/365.25.

LIST VARIABLES=id beg sto 实足天数 实足月数 实足岁数 /CASES=FROM 1 TO 10.

* 输出结果:

id    beg        sto     实足天数    实足月数  实足岁数

1  01-DEC-2020  25-DEC-2021   389.00     12.78    1.07

2  02-DEC-2018  25-DEC-2021   1119.00    36.76     3.06

3  03-DEC-2011  25-DEC-2021   3675.00    120.74    10.06

4  04-DEC-1992  25-DEC-2021   10613.00   348.68    29.06

5  05-DEC-1982  25-DEC-2021   14265.00   468.67    39.06

6  06-DEC-1972  25-DEC-2021   17916.00   588.62    49.05

7  07-DEC-1962  25-DEC-2021   21568.00   708.60    59.05

8  08-DEC-1952  25-DEC-2021   25219.00   828.55    69.05

9  09-DEC-1942  25-DEC-2021   28871.00   948.53    79.04

10   10-DEC-1939   25-DEC-2021  29966.00   984.51    82.04


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群