列内のゼロの数を数える(JSL)<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、
Distributionプラットフォームを使用してデータセットを手動で分析してきましたが、繰り返す必要があるので、今度は最も重要なメジャーを抽出するためのJSLスクリプトを作成しようとしています。データは次のようになります。
モデルスコア
モデル1 3.54485
モデル2 2.36485
モデル1 5.38456
モデル2 2.14556
モデル1 0
MODEL2 0.04856
平均値、標準偏差などを抽出します。また、各モデルのスコアがゼロになる頻度を知りたいのですが。私はJSLでsummary、tabulate、そしていくつかの関数を使ってみました。「ゼロカウント」の部分以外はすべて達成できます。この数は、分布を作成してからヒストグラムのオプション>>表示回数を指定することで手動で取得できます。JSLでそれを行う方法について何かアイデアはありますか?これまでのコード:
dt = Open( "C:\ Desktop \ Results.jmp);
dt <<概要(
グループ(モデル)
中央値(:スコア)、
平均スコア )、
標準偏差(:スコア)、
範囲(:スコア)、
;
再:列のゼロの数を数える(JSL)ありがとうございました!これはずっときれいです。
再:列のゼロの数を数える(JSL)これは、同じ結果が得られるはずの、少し単純化されたバージョンです。
dt = 開いた ( "C:\ Desktop \ results1" || ファイル名 || ".jmp" ) ;
dt2 = dt << 概要 ( グループ ( : モデル ) 、中央値 ( : スコア ) 、平均 ( : スコア ) 、範囲 ( : スコア ) ) ;
dt2 << 行を削除 ( 2 ) << 新しいコラム ( "Num Zeroes" 、
数値 、
連続的 、
フォーマット ( ベスト ) 、
<< 各値を設定 ( N行 ( dt << 行を取得する ( : スコア == 0 & : モデル == 「モデル1」 ) ) )
) ;
再:列のゼロの数を数える(JSL)ありがとうございました!以下のコードは最適ではないと確信していますが、必要な結果を得るためにあなたのコードを組み込むことができました。
filename = ""; / *一般的な名前なので、別のファイルでも繰り返すことができます* /
dt = Open( "C:\ Desktop \ results1" ||ファイル名|| ".jmp");
zero_count = 0;
行ごとに(
if(:score == 0&:Model == "Model1"、zero_count ++)
;
dt <<概要(
グループ(モデル)
中央値(:スコア)、
平均スコア )、
範囲(:スコア)、
;
dt2 =データテーブル( "results1" || filename || "By(Model)");
dt2 <<行の削除(2); / * Model1だけが欲しい* /
dt2 << New Column( "Num Zeroes"、
数値、
連続した、
フォーマット(最高)
<<各値を設定します(zero_count)、
;
再:列のゼロの数を数える(JSL)summaryコマンドを使用してスコアでグループ化することでカウントを見ることができます。
Data Table("Untitled") << Summary(Group(:Score))
またはJSLであなたがすることができます:
zero_count = 0;
for each row(
if(:score == 0, zero_count++)
);
show(zero_count);