计算变量变化的次数

时间:2018-09-05 14:04:55

标签: database count statistics spss qa

我正在为正在处理的数据集创建质量控制变量。它采用长格式,每个主题具有> 100行。这些行代表他们记录活动代码的时间段(按时间顺序)。真的很酷的做法是创建一个新变量,该变量计算人员更改其活动代码的次数(理想情况下,忽略已定义的丢失数据)。

有人从哪里开始有任何想法吗?我在这些选项中所能看到的就是创建一个频率表,该频率表列出了每个活动发生的频率。而不是改变的时间。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

首先,我将创建一些虚假数据进行演示:

data list list/ID (a1) actvt1 to actvt5 (5f1).
begin data
"a", 1, 1, 2, 2, 3
"b", 1,  , 1, 2, 2 
"c", 1,  , 2, 2, 
"d",  , 1, 1, 1, 2
"e",  ,  , 3, 2, 1
end data.
varstocases /make activity from actvt1 to actvt5/null=keep.

以下语法将跳过丢失的数据,并计算每个ID中活动代码的更改次数-将其添加到数据集中。

compute tmp=activity.
if $casenum>1 and missing(tmp) and ID=lag(ID) tmp=lag(tmp).
if $casenum>1 and ID=lag(ID) and tmp<>lag(tmp) change=1.
aggregate /out=* mode=add /break=ID /changes=sum(change).