1

我是 SPSS 的新手,现在正在尝试编写语法来操作我的数据集。

我现在有一个如下所示的数据集:

V1 V2

1 2007/01/23

2 2007/02/25

. . . .

第一行“V1”是行号,第二行“V2”是日期。

我想找出每 2 个后续行的日期“V2”之间的差异,并为结果创建一个新的第三列数据。

但是,我不知道如何对两个不同行中的数据进行减法运算。

4

2 回答 2

3

查找滞后函数。它使您可以访问以前的行。如果您需要根据前向值进行计算,请查看 SHIFT VALUES 命令。

于 2013-04-28T20:23:41.390 回答
1

我假设您对两个日期之间的天数感兴趣。“ctime.days”函数将减法的值转换为天数。

COMPUTE ddiff = ctime.days(v2 - LAG(v2)).
EXECUTE.

另一种解决方案是使用“datediff”函数:该函数的一般语法是:

datediff(date1,date2,unit)

在您的情况下,您将使用以下语法:

COMPUTE ddiff = datediff(v2,LAG(v2),"days").
EXECUTE.

第二种解决方案更灵活一些,因为您可以选择其他输出单位,例如“年”、“季度”、“月”、“周”等。

于 2014-07-15T15:07:31.740 回答