我希望你能帮助我解决我在嵌套循环中重新编码的问题(SPSS 语法)。:)
在我的 SPSS 数据库中,我得到了不同药物的血液水平测量值(20 周内每周 3 次)。我想为每种物质创建箱线图,使用重新编码为每种物质生成一个新变量。
以下过程描述了一种物质的过程。我可以抽象出其余的具有一种物质的解决方案。
因此,可以通过 GUI 进行单击,这对于如此多的测量来说非常累人——而且容易出错——所以我想用 SPSS 语法来做到这一点。
提醒一下:每周 3 次测量 (1-3) 超过 20 周 (0-19);
第一周第一次测量的 RECODE 如下所示:
DO IF (W0_TDM_1AP=1).
RECODE
W0_TDM_1Erg
(ELSE=Copy) INTO AMS.
END IF.
EXECUTE.
如果我想用 Python 或 PHP 实现它,它看起来像这样(伪代码):
for($i=0; $i<19; $i++)
{
for($j=1; $j<3; $j++)
{
DO IF (W{$i}_TDM_{$j}AP=1).
RECODE
W{$i}_TDM_{$j}Erg
(ELSE=Copy) INTO AMS.
END IF.
EXECUTE.
}
}
我的基本想法是:嵌套循环并在内循环上执行重新编码。由于 $i 和 $j 将是整数,因此我必须对字符串进行强制转换,然后检查条件:(伪代码)
LOOP #i=0 TO 19 .
LOOP #j=1 TO 3 .
var1 = CONCAT("W",STRING(#i),"_TDM_",STRING(#j),"AP") .
var2 = CONCAT("W",STRING(#i),"_TDM_",STRING(#j),"Erg") .
DO IF (var1=1) .
RECODE
var2
(ELSE=Copy) INTO AMS .
END IF .
EXECUTE .
END LOOP .
END LOOP .
我对 SPSS 语法不是很熟悉,但这将是我的基本想法,它是如何工作的。我需要的是我的 PHP/Pythonish 伪代码的实际工作语法代码。:-)