SSブログ

IBM SPSS Modeler(Clementine):for ... endfor 使い方 1 [データサイエンス、統計モデル]

IBM SPSS Modeler(旧称:Clementine)を使って、集計を繰り返していくと、元のフィールド名がやたら長いものになってしまう。





そこで、フィルタノードを使いフィールド名を整形するのだが…



フィールド数が少ない場合は、手で修正できるのだが、フィールド数が多くなってくると、手で修正するのも面倒になる。

そこで、スクリプトを使って、簡単に修正するスクリプトを調べた。

基本は、"for ... endfor"を理解するだけの簡単なスクリプトなのだが、せっかくなので、for ... endfor を丁寧にみてみるみることにする。

~使い方 1~
まずは、超初心者編。

for パラメータ in リスト
 ここに式を書く
endfor


マニュアルには、
-----
【リスト】の順序を使用して、【パラメータ】に割り当てられた【リスト】内の各値に対し、【ここに式を書く】を1回ずつ実行します。
-----
と書かれています。



下記のスクリプトを実行するとどうなるか?

for f in x1 x9
 set Filter_a.new_name.^f = ^f >< '_test'
endfor


このループ、2回だけループされます。

1回目、x1
 f = x1
 Filter_a.new_name.x1 = x1 >< '_test'
x1をx1_testにリネーム

2回目、x9
 f = x9
 Filter_a.new_name.x9 = x9 >< '_test'
x9をx9_testにリネーム

となります。

これだと、リストを手打ちで書くため、スクリプトでわざわざ書くご利益はありません。

スクリプトを実行した結果は

となります。

nice!(3)  コメント(0)  トラックバック(0) 
共通テーマ:学問