计算变量变化的次数

问题描述 投票:1回答:1

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

有没有人知道从哪里开始?我在选项中可以看到的是创建每个活动发生频率的频率表。而不是他们改变的次数。

任何帮助将非常感激。

database count statistics spss qa
1个回答
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).
© www.soinside.com 2019 - 2024. All rights reserved.