Re: 平均列の JMP スクリプトこんにちは@hsjoyner 、
column() 関数を調査しましたか? 列名を使用する代わりに、そのインデックスを使用できます。これは for() ループで役に立ちます。

Re: 平均列の JMP スクリプト列数が固定されている場合は、意味、
「など」の場合。可変です。おそらくいくつか必要ですに挿入とEval(置換()):
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
offset = 5;
nc = N Col( dt );
length = 10;
groups = Floor((nc - offset) / length);
For( group = 1, group <= groups, group++,
myFormula = Expr( Mean() );
For( i = 1, i <= length, i++,
Insert Into( myFormula, NameExpr(As Column( offset + (group-1)*length +i ) ))
);
myName = "average" || Char( group );
Eval(Substitute(Expr(new Column(__myName__,Formula(__myFormula__))),Expr(__myFormula__),NameExpr(myFormula),Expr(__myName__),NameExpr(myName) ));
);
Re: 平均列の JMP スクリプトこれは、あなたが探しているものを作成するスクリプトです。未定の列数に対して 10 列のグループを平均する新しい列を作成します。

names default to here(1);
// Create an example data table to use for illustration of how to
// create the sets of average columns
dt =
// Open Data Table: semiconductor capability.jmp
// → Data Table( "semiconductor capability" )
Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
// Delete the first 3 columns to match the description
// of the suggested data table structure
dt << delete columns({"lot_id","wafer","wafer ID in lot ID"});
// Create new columns that have the groups of 10 columns
startingNCol = N Cols(dt);
start = 2;
groupSize = 10;
while(start+groupSize<=startingNCol,
eval(substitute(expr(
dt << New Column("Average " || char( start ) || "-" || char(start + groupSize),
set each value(Mean(current data table()[row(),index(theStart,theEnd)])));
),
expr(theStart), start, expr(theEnd), start+groupSize
));
start=start+groupSize;
);
Re: 平均列の JMP スクリプトMean(current data table()[row(),index(theStart,theEnd)])
うわー、非常にエレガント - 列参照で平均を手動で埋めるよりもはるかに優れています!
平均列の JMP スクリプト非常に初心者の JMP スクリプト作成者が、一連の列を平均して、平均を含む新しい列を作成するコマンドを作成しようとしています。 これは、列を強調表示して、[新しい数式列] > [結合] > [平均] を選択するのと同じです。 ただし、これを実行できるものがスクリプト ライブラリやオンラインで見つかりません。 何か提案がある人はいますか?
さらに複雑にするために、スクリプトで列 2 ~ 11、12 ~ 21、22 ~ 31 などを取得し、各列グループの平均を計算する必要があります。 列には設定された名前がないため、スクリプトに列名をそのまま入力することはできません (列名はサンプル名であり、そのように保つ必要があるため、名前を一貫させることはできません)。 各 JMP ファイル内のサンプル数は大きく異なる可能性があるため、各 JMP ファイル内の列グループの数は一定ではありません。 これを行う簡単な方法はありますか?
Mac で JMP 17.0.0 を使用しています。参考になれば。 助けていただければ幸いです。
データのブレンディングとクリーンアップマックOSRe: 平均列のJMPスクリプト数式列が平均 2 - 12 列と同じ値を生成できないのはなぜですか?
平均(:NPN1、:PNP1、:PNP2、:NPN2、:PNP3、:IVP1、:PNP4、:NPN3、:IVP2、:NPN4、:SIT1)
編集: コメントを書いているときに気が散ってしまい、上記の数式で一致する値が生成されました。
追加情報: Mean() は列の書式プロパティに非常に左右されるようです。列が固定小数点幅 15 小数点 3 に設定されている場合と最適幅 12 に設定されている場合とで、自分のデータ テーブルで異なる結果が得られました。この問題を回避するための推奨事項はありますか?
Re: 平均列のJMPスクリプトこんにちは@hsjoynerさん、
私の理解が正しければ、すべての列グループの平均を求めるのであれば、テーブル内の列グループのリストを取得し、それらのグループ名をループ処理して、各グループの列を動的に取得する数式列を作成できるはずです。例えば、次のようになります。
dt = Current Data Table();
groupNames = dt << get column groups names;
For Each( {groupName, index}, groupNames,
Eval(
Eval Expr(
dt << New Column( groupName || " Mean",
Formula( Mean( Current Data Table() << get column group( Expr( groupName ) ) ) )
)
)
)
);
これが役に立つことを願います!
@ジュリアン
追記:あなたのメッセージと返信を読み返してみたところ、テーブル内の実際のグループに含まれる列ではなく、列のグループ(つまり列のセット)について言及されていることに気づきました。そのため、この回答はあなたには役に立たないかもしれませんが、もし誰かが同じような状況に陥った場合に備えてここに残しておきます。:grinning_face: