こんにちはJMPコミュニティ、あなたがこの問題で私を助けることができることを願っています:
ユーザーが特定の(入力される)係数を使用して、いくつかのサンプル濃度の1x、2x、および/または3xSD値を計算できるようにするスクリプトを作成しました。 1x、2x、および/または3x SD値は、すべて3つのチェックボックスから選択できます。 この最初の部分は完全に機能します。
選択したチェックボックスの数に基づいて、結果のデータテーブルには、新しいデータテーブルに分割したい可変量の列が表示されます。
存在するすべてのSD列(常に列3から開始)に基づいてデータテーブルを分割する2番目のスクリプトを作成しようとしましたが、成功しませんでした。 これはこれまでの私のスクリプトです:
名前のデフォルトはHere(1);
dt1 =データテーブル( "SD計算");
//列名のリストを取得します
ColList = dt1 << Get Column Names();
// ColListに基づいてdt1を分割します
dt2 = Data Table( "SD Calculation")<< Split(
Split By(:nomRP)、
Split(ColList [3])、
残りの列(すべて削除)、
列プロパティで並べ替え
);
結果の分割テーブルは次のようになり、ほとんどのデータが欠落しています。

これはどのように見えるかです(これはすべての列名を指定することによってのみ達成できますが、すべての列が各テーブルに存在するわけではありません(ユーザーの選択に基づいています):

すべてのSD計算を選択する場合(5つのサンプル濃度で±1〜3 SD)、30カラムが存在する必要があります。
私のスクリプトの目標:
nomRP値は次のとおりです。50、71、100、141、200、およびこれらのnomRP値ごとに1〜3倍のSD値を計算できます。 計算結果はすべて、新しいデータテーブルに分割する必要があります。 これらのデータを使用して、計算されたSD値に基づいて範囲を示すグラフビルダーで図を作成します。
敬具、
ピム。
こんにちは、
これは、Eval(Eval Expr(Expr()))が役立つ時間の1つだと思います。以下のコードを見て、期待どおりの動作をするかどうかを確認してください。またここに投稿がありますこれらのタイプのメソッドを説明するこのトピックについて。
Names Default to Here(1);
dt1=Data Table("SD Calculation");
//Get list of Column names
ColList=dt1<<GET column="" names=""></GET>ハドリー、これはまさに私が探していたものでした。
どうもありがとうございました、そしてまたについての投稿を共有してくれてありがとうEval(Eval Expr(Expr()))。 これは、私の将来のスクリプトの冒険に役立ちます!