標準化されたグループ列属性こんにちは。 私はjslスクリプトを初めて使用します。
スクリプトのヘルプ メニューから列の属性を変換できますが、グループ内のすべての列に対してそれを行うにはどうすればよいですか?
20 列すべてを 1 つずつ書くのはあまりにも面倒ですし、グループ化された列もたくさんあります。
スクリプトを使用せずに標準化属性を使用するのが簡単であることはわかっていますが、頻繁に更新される結合テーブルを扱っているため、常にそれを行うのは生産的ではありません。
dt << Transform Column( "A");
dt:A << データ型 (数値);
dt:A << モデリング タイプ( "Continuous" );
列を列グループに変更しようとしましたが、機能しないようです。
自動化とスクリプト作成Re: 標準化されたグループ列属性これで必要なことができると思います。
Names Default To Here( 1 );
dt = Current Data Table();
colNames = dt << get column group( "the group's name" );
For Each( {col},
colNames, Column( dt, col ) << Data Type( Numeric ) << Modeling Type( Continuous )
);
をご利用ください。
JSLに入るとき。これにより、読者は JSL を簡単に調べることができます。
Re: 標準化されたグループ列属性標準化属性を開始点として使用し、必要に応じて作成されるスクリプトを変更できます。
このような列があり、身長と体重を文字型の列に変更したいと考えています

属性を標準化すると、次のようなスクリプトが得られます (拡張ログから)
// Standardize column attributes
Local({old dt = Current Data Table()},
Current Data Table(Data Table("Big Class"));
For Each({col, index}, {:height, :weight},
col << Data Type(Character) << Set Modeling Type("Nominal")
);
Current Data Table(old dt);
);
次に、列グループ (または類似のもの) のスクリプト インデックスを検索します。

小さな変更後 (データ型とモデリング型を数値に戻します)
// Standardize column attributes
Local({old dt = Current Data Table()},
Current Data Table(Data Table("Big Class"));
For Each({col, index}, old dt << get column group("height etc."),
col << Data Type(Numeric) << Set Modeling Type("Continuous")
);
Current Data Table(old dt);
);
列グループ名がわからない場合は、スクリプトインデックスに戻ります

Re: 標準化されたグループ列属性ありがとう!
強化されたログを取得するにはどうすればよいですか? JMP 16 では利用できますか? まだアップグレードしていない
Re: 標準化されたグループ列属性ありがとう :)次回は を使用します
スクリプトを試してみましたが、代わりにこのアラートが表示されました。どうすればいいですか?

Re: 標準化されたグループ列属性はい、JMP16 で追加され、それ以降の各バージョンではより多くのアクションをキャプチャできるようになりました (JMP17 にはワークフロー ビルダーがあります)。
Re: 標準化されたグループ列属性このスクリプトも、JMP16 で追加された For Each を使用しています。 次のような For ループに変換する必要があります。
Local({old dt = Current Data Table()},
Current Data Table(Data Table("Big Class"));
collist = old dt << get column group("height etc.");
For(i = 1, i <= N Items(collist), i++,
col = collist[i];
col << Data Type(Numeric) << Set Modeling Type("Nominal");
);
Current Data Table(old dt);
);
スクリプトが実行されている場所に応じて、(少なくとも私の意見では)次のように少しクリーンアップすることもできます
Names Default To Here(1);
dt = Current Data Table();
// dt = Open(); // use this if possible
collist = dt << get column group("height etc.");
For(i = 1, i <= N Items(collist), i++,
col = collist[i];
col << Data Type(Numeric) << Set Modeling Type("Continuous");
);