複数の列を選択してスクリプトでヒストグラムを実行するこんにちは、
テーブルから 2 つの列を選択し、ヒストグラムを実行するスクリプトを作成しました。 任意の数の列を選択し、選択した列のヒストグラムを作成できるのが好きです。 誰かがそれを達成するのを手伝ってくれませんか? 私のスクリプトを以下にリストします。 ありがとう
dt =開ける( 「A.csv」 );
xvar = 。 ;
イーヴァル = 。 ;
勝つ =新しい窓( 「2 つの変数を選択してください」 、
<<モーダル、
<<検証時(
// ユーザーは「OK」をクリックする前に 2 つの変数を選択する必要があります
見せる( xvar 、 yvar );
もし(不足している(xvar) |不足している( yvar )、
0 、 // xvar または yvar がない場合、「OK」をクリックしても何もしません
1
);
)、
テキストボックス( " 2 つの数値列を選択します。 」 )、
H リストボックス(
テキストボックス( 「最初に選択してください」 )、
x =列リストボックス(
デット、 // データテーブル参照
全て、 // データテーブルのすべての列を表示します
xvar = (x <<選択してください)[ 1 ];
// ウィンドウを閉じる前に選択した列の名前を取得します
見せる( xvar );
)、
テキストボックス( 「2番目を選択してください」 )、
y =列リストボックス(
デット、
全て、
yvar = (y <<選択してください)[ 1 ];
見せる( yvar );
)
)
);
xcol =カラム( dt 、 xvar ); // 列を取得します
イコル =カラム( dt 、 yvar );
名前1 = 「:」 || xvar;
名前2 = 「:」 ||イーヴァル。
名前 = 名前1 || 「、」 ||名前2;
見せる( 名前 );
評価(
解析する(
"obj1 = 分布(
スタック(1)、
連続分布( Column(" ||名前1 || ")、
)、
連続分布( Column(" ||名前2 ||
")、
)
);"
)
);
Re: スクリプトで複数の列を選択してヒストグラムを実行するありがとう。 とても役立つスクリプトです。Re: スクリプトで複数の列を選択してヒストグラムを実行するこんにちは、
再度、感謝します。 ヒストグラムの結果をHTMLに保存したいと思い、過去に実行しました。 いくつかの変更を加えたスクリプトを次に示します。 エラーが発生します
名前が解決されていません: 'obj' のアクセスまたは評価中の obj)。 私はあなたの助けに感謝します。
dt =開ける( 「A.csv」 );
勝つ =新しい窓( 「データセレクト」 、
H リストボックス(
パネルボックス( 「利用可能な列」 、dtCols =列リストボックス( dt、すべて、幅( 80 )、)、
パネルボックス( 「選択された列」 、
H リストボックス(
V リストボックス(
追加ボタン =ボタンボックス( "追加" 、colList <<追加( dtCols <<選択してください))、
削除ボタン =ボタンボックス( "取り除く" 、colList <<削除選択())
)、
ColList =列リストボックス( 数値、幅( 80 )、MinItems( 1 )、N 行( 4 ))
)
)、
OKボタン =ボタンボックス( "わかりました" 、
PlotCols =colList <<アイテムを入手する;
str = 「」 ;
のために( i = 1 、私<= N 個のアイテム( PlotCols )、i++、
str = str || "継続的分布(列(:名前(\!") ||プロットコル[i] || "\!")))、
」
);
評価(解析する( "obj = dt << Distribution(stack(1)," || str || ");" ) );
勝つ <<ウィンドウを閉じる;
)
)
);
オブジェクト <<報告;
オブジェクト <<インタラクティブHTMLの保存( 「あ」 );
Re: スクリプトで複数の列を選択してヒストグラムを実行する解決策を提供していただきありがとうございます。 試してみたらうまくいきました。
Re: スクリプトで複数の列を選択してヒストグラムを実行するColListBoxes を使用したメソッドは次のとおりです。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
win = New Window("Data Select",
H List Box(
Panel Box("Available Columns",
dtCols = Col List Box(dt, all, width(80)),
),
Panel Box("Selected Columns",
H List Box(
V list Box(
addButton = Button Box("Add", colList << Append(dtCols << Get Selected) ),
removeButton = Button Box("Remove", colList << Remove Selected() )
),
colList = Col List Box(numeric, width(80), MinItems(1), N Lines(4))
)
),
okButton = Button Box("OK",
PlotCols = colList << Get Items;
str = "";
for(i=1,i<=N Items(PlotCols),i++,
str = str||"Continuous Distribution(Column(:Name(\!""||plotcols[i]||"\!"))),
"
);
eval(parse("dt << Distribution(stack(1),"||str||");"));
win << Close Window;
)
)
);