如何提取最后一个变量的名称和时间,并将所有变量更改为缺失?
How to extract last variables' name and time, and after change all variables to missing?
假设我有以下示例,没有强制性问题:
我想计算“time_end”和“time_end”(“x1”)的变量名称 - 蓝色单元格。
会是这样的:
time_end = 最后一个 answered/seen 问题的时间
x1 = 最后 answered/seen 个问题
“x1”之后的所有变量应等于缺失(无答案)而不是“零”。
检测这些情况的参考之一,可能是“time_var”是空的,所以从那时起不再有答案,不是吗?但是怎么办?
凡是回答的都不是问题(见ID=5)
但是当我“退出”(在调查问卷中间退出,没有完成)时,我有一个语法,我为这些 ID 案例中的每一个手动编写每个变量,包括命名所有“退出”后要放置的变量丢失(超过 50...)。
有没有办法用语法自动化这个?谢谢!
这是一种方法-
以下代码向后遍历变量。第一次遇到时间变量中的时间时,它将那个时间放在“time_end”变量中,并将变量名放在x1
变量中。它还会沿途清理 varX
:
string x1(a20).
compute time_end=$sysmis.
do repeat tm = time_var6 time_var5 time_var4 time_var3 time_var2 time_var1
/vr = var6 var5 var4 var3 var2 var1
/vrnm = "var6" "var5" "var4" "var3" "var2" "var1" .
if missing(tm) vr=$sysmis.
do if missing(time_end) and not missing(tm).
compute time_end=tm.
compute x1=vrnm.
end if.
end repeat.
formats time_end(time8).
假设我有以下示例,没有强制性问题:
我想计算“time_end”和“time_end”(“x1”)的变量名称 - 蓝色单元格。
会是这样的:
time_end = 最后一个 answered/seen 问题的时间
x1 = 最后 answered/seen 个问题
“x1”之后的所有变量应等于缺失(无答案)而不是“零”。
检测这些情况的参考之一,可能是“time_var”是空的,所以从那时起不再有答案,不是吗?但是怎么办?
凡是回答的都不是问题(见ID=5)
但是当我“退出”(在调查问卷中间退出,没有完成)时,我有一个语法,我为这些 ID 案例中的每一个手动编写每个变量,包括命名所有“退出”后要放置的变量丢失(超过 50...)。
有没有办法用语法自动化这个?谢谢!
这是一种方法-
以下代码向后遍历变量。第一次遇到时间变量中的时间时,它将那个时间放在“time_end”变量中,并将变量名放在x1
变量中。它还会沿途清理 varX
:
string x1(a20).
compute time_end=$sysmis.
do repeat tm = time_var6 time_var5 time_var4 time_var3 time_var2 time_var1
/vr = var6 var5 var4 var3 var2 var1
/vrnm = "var6" "var5" "var4" "var3" "var2" "var1" .
if missing(tm) vr=$sysmis.
do if missing(time_end) and not missing(tm).
compute time_end=tm.
compute x1=vrnm.
end if.
end repeat.
formats time_end(time8).