私はJMPにとても慣れていないので、まだ周りを感じています。JMPで「ステータス」という新しい列を作成したいと思います。このステータスは文字であり、「グレード」列の値によって異なります。「Grade」列のエントリの値がゼロの場合、「Status」列のエントリの値は「fail」である必要があります。「Grade」の値が100より大きい場合、「Status」列のエントリは「invalid」である必要があります。:Grade "値が0未満の場合、" Status "値は" invalid "である必要があります。これは単純なはずですが、どういうわけか、私のスクリプトは機能しません。
dt = Current Data Table();
dt << New Column("Status", Character, Formula(
If(:Name( "Grade" )==0, "fail",
:Name( "Grade" )>100, "invalid",
:Name( "Grade" )<0, "invalid")
));
このスクリプトのデバッグを手伝ってもらえますか?
スクリプトを試したところ、数式が機能しています。
これはもう少し完全なJSLで、「ステータス」が依存する「グレード」列も追加されています。
dt = Current Data Table();
dt << New Column( "Grade",
Numeric,
"Continuous",
Format( "Best", 12 ),
);
dt << New Column( "Status",
Character,
"Nominal",
Formula(
If(
:Grade == 0, "fail",
:Grade > 100, "invalid",
:Grade < 0, "invalid"
)
)
);
おそらく問題は、Grade列で開かれたデータテーブルをまだ持っていないことですか?これは、式といくつかの値を使用して新しいテーブルを作成するためのスクリプトです。
New Table( "Grading Test",
Add Rows( 7 ),
New Column( "Grade",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [45, 20, 100, 101, -4, 0, 120] )
),
New Column( "Status",
Character,
"Nominal",
Formula(
If(
:Grade == 0, "fail",
:Grade > 100, "invalid",
:Grade < 0, "invalid"
)
)
)
);
これは、テーブルをインタラクティブに作成し、赤い三角形のメニューを使用して、[テーブルスクリプトのコピー]を選択することで作成しました。
JMP 12.0を試しましたが、どのバージョンを使用していますか?
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加