古い列のデータに基づいて新しい列に式を適用する<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、みんな、
私は JMP スクリプトについてまったくの初心者です。
テーブル内の各文字列に移動し、そのすべての値 (PASS、FAIL など) を検索し、割り当てられた値 (1、2、3 , 4, 5) 前述のものに基づいています。
これは私が今持っているスクリプトです。これは機能しますが、単一の列しか考慮しません。 すべての列が考慮されるように、その列名の代わりに変数を挿入する方法はありますか?
dt = データ テーブル("datatable.jmp");
cols = dt << get column names(Character); //すべての文字列を一覧表示
For(i = 1, i <= N 項目 (列), i++,
dt << New Column(cols << 名前を取得 || "_CODED",
数値、
"公称"、
Format("ベスト", 12),
Formula(Name Expr(
If(:名前("レベル1") == "合格", 1, If(:名前("レベル1") == "不合格", 2, If(:名前("レベル1") == "", 3, If(:Name("Level1") == "NOTTESTED", 4, If(:Name("Level1") == "無視", 5, If(:Name("Level1") == "PASS|PASS" , 6, If(:Name("Level1") == "IGNORE|IGNORE", 7, If(:Name("Level1") == "未テスト|未テスト", 8)))))))
)))
);
);
基本的に、テーブル内の各文字列だけではなく、各文字列でスクリプトを実行する方法があるかどうかを知りたいですレベル1 . 私は使用しようとしました列の代わりに変数としてレベル1 、しかしこれにより、引用符が必要であるか、スクリプトが目的ではない「レベル1」という名前の列を検索するため、スクリプトが実行されませんでした.
他のスクリプトの一部を取得して、これに適用しようとしたので、冗長なものがあれば教えてください。 どうもありがとう。
Re: 古い列のデータに基づいて新しい列に式を適用するどうもありがとう、うまくいきます!
Re: 古い列のデータに基づいて新しい列に式を適用するこれはそれを行います:
新しいテーブル( "例" 、行を追加( 6 ) 、
新しい列( 「ああ」 、キャラクター、公称、
設定値( { "合格" 、 "合格" 、 "不合格" 、 "無視" 、 "" 、 "無視" } )
) 、
新しい列( 「ブッ」 、キャラクター、公称、
設定値( { 「パス|パス」 、 「無視|無視」 、 "合格" 、 "" 、 "不合格" 、 "不合格" } )
)
) ;
dt =データ表( "例" ) ;
列= dt <<列名を取得する(キャラクター) ; //すべての文字列を一覧表示
為に(私= 1 、私<= Nアイテム(列) 、私++、
one_col =列[私] <<名前を取得;
コード化された_列= one_col || "_CODED" ;
col_expr =エバリンサート(
"\[ dt << New Column("^coded_col^", Numeric, "Nominal",
Format("ベスト", 12), Formula(
if (:name("^one_col^") == "PASS", 1,
:name("^one_col^") == "失敗", 2,
:name("^one_col^") == "", 3,
:name("^one_col^") == "未テスト", 4,
:name("^one_col^") == "無視", 5,
:name("^one_col^") == "PASS|PASS", 6,
:name("^one_col^") == "無視|無視", 7,
:Name("^one_col^") == "未テスト|未テスト", 8;
);
)
);]\" ) ;
評価(解析する( col_expr )))
) ;