gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 18:07:23 27 4
gpt4 key购买 nike

我正在使用 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

最佳答案

您可以使用 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 按照您的要求 reshape 数据。

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

关于涉及调查完成日期变量的 SPSS 数据集重组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23639327/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com