SPSS数据集重组涉及调查完成日期的变量

时间:2014-05-13 18:52:15

标签: spss

我正在使用SPSS并且拥有一个由个人对调查问题的回答组成的数据集。这是纵向数据,因此受试者至少进行了两次调查,有的多达四到五次。

我的变量是ID(比例),date调查完成(日期 - dd-mmm-yyyy),response调查问题(比例)。

数据集按ID排序date(升序)。每个date对应于调查时间1,时间2等。我想要做的是计算一个新变量time,该变量对应于特定参与者的调查完成日期。然后,我想使用该变量来完成数据集的长期到广泛的重组。

所以,我想完成以下内容并且不确定如何去做:

1)我有这样的事情:

ID Date          Assessment_Answer
----------------------------------
1  01-Jan-2009   4
1  01-Jan-2010   1
1  01-Jan-2011   5
2  15-Oct-2012   6
2  15-Oct-2012   0

2)想要计算另一个能给我这个的变量:

ID Date          Assessment_Answer  Time
-----------------------------------------
1  01-Jan-2009   4                  Time1 
1  01-Jan-2010   1                  Time2
1  01-Jan-2011   5                  Time3   
2  15-Oct-2012   6                  Time1
2  15-Oct-2013   0                  Time2

3)重组,以便我有这样的事情:

ID Time1 Time2 Time3 Time4
--------------------------
1      4     1     5
2      6     0

1 个答案:

答案 0 :(得分:1)

您可以使用sequential case processing创建一个变量,该变量是每个ID中的计数器。例如:

*Making fake data.
DATA LIST FREE / ID (F1.0) Date (DATE10) Assessment_Answer (F1.0).
BEGIN DATA
1 01-Jan-2009 4
1 01-Jan-2010 1
1 01-Jan-2011 5
2 15-Oct-2012 6
2 15-Oct-2012 0
END DATA.

*Making counter within ID.
SORT CASES BY Id Date.
DO IF ($casenum = 1) OR (Id <> LAG(ID)).
  COMPUTE Time = 1.
ELSE.
  COMPUTE Time = LAG(Time) + 1.
END IF.
FORMATS Time (F2.0).
EXECUTE.

现在,您可以使用CASESTOVARS重新设置您请求的数据。

CASESTOVARS
  /ID = Id
  /INDEX = Time
  /DROP Date.