我是 SPSS 的新手,现在正在尝试编写语法来操作我的数据集。
我现在有一个如下所示的数据集:
V1 V2
1 2007/01/23
2 2007/02/25
. . . .
第一行“V1”是行号,第二行“V2”是日期。
我想找出每 2 个后续行的日期“V2”之间的差异,并为结果创建一个新的第三列数据。
但是,我不知道如何对两个不同行中的数据进行减法运算。
我是 SPSS 的新手,现在正在尝试编写语法来操作我的数据集。
我现在有一个如下所示的数据集:
V1 V2
1 2007/01/23
2 2007/02/25
. . . .
第一行“V1”是行号,第二行“V2”是日期。
我想找出每 2 个后续行的日期“V2”之间的差异,并为结果创建一个新的第三列数据。
但是,我不知道如何对两个不同行中的数据进行减法运算。
查找滞后函数。它使您可以访问以前的行。如果您需要根据前向值进行计算,请查看 SHIFT VALUES 命令。
我假设您对两个日期之间的天数感兴趣。“ctime.days”函数将减法的值转换为天数。
COMPUTE ddiff = ctime.days(v2 - LAG(v2)).
EXECUTE.
另一种解决方案是使用“datediff”函数:该函数的一般语法是:
datediff(date1,date2,unit)
在您的情况下,您将使用以下语法:
COMPUTE ddiff = datediff(v2,LAG(v2),"days").
EXECUTE.
第二种解决方案更灵活一些,因为您可以选择其他输出单位,例如“年”、“季度”、“月”、“周”等。