入れ子になったループ (SPSS 構文) での再コード化に関する私の問題を解決できることを願っています。:)
私の SPSS データベースには、さまざまな薬の血中濃度測定値 (20 週間にわたって週に 3 回) があります。recode を使用して各物質の新しい変数を生成し、各物質の箱ひげ図を作成したいと考えています。
次のプロセスでは、1 つの物質のプロセスについて説明します。1つの物質の解決策を持つ残りを抽象化できます。
GUI経由でクリックする方法がありますが、これは非常に多くの測定で非常に疲れます-そしてエラーが発生しやすい-ので、SPSS構文でこれを行いたいと思います.
念のため: 20 週間 (0-19) にわたって、週に 3 回の測定 (1-3)。
最初の週の最初の測定の 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 疑似コードの実際に機能する構文コードです。:-)