列関数と行の状態JMPのバージョン15のリリースノートによると:
Col関数は、Excluded(Row State())関数を介して除外された行を尊重します。
Col Maximum(:height、:sex、Excluded(Row State()));
ただし、この構文は機能していないようです。誰かが正しい構文を提案できますか?
スクリプティングRe:列関数と行の状態ビニングのコンセプトと同じだと思います。 観測ごとに1つの値を別の値にマッピングします。この場合は、グループ値です。 ゴミ箱かもしれません。 それは中心傾向の尺度かもしれません。
Re:列関数と行の状態OKありがとう。テーブルのすべての行に対して列統計を生成するという考えに頭を悩ませることはできませんが、ユースケースが必要だと思います。行の除外を考慮しながら、ユーザー定義関数を使用して列の統計を計算することに固執します。
Re:列関数と行の状態によるドキュメンテーション、By変数が指定されている場合、関数は列式またはFor Each Row()で使用する必要があります。
(オプション)計算するBy変数統計s行のグループ全体。 でBy変数を使用しますcol umn式または各行()について関数。
この投稿の前半の例のいくつかを確認すると、除外された値を独自のByレベルとして扱っているように見えることに同意します。
Re:列関数と行の状態Row()関数が評価されるときに定義される列式で使用されているようです。
Re:列関数と行の状態1台のコンピューターで動作します:

そしてもう1つは失敗します:

Re:列関数と行の状態ビッグクラスでの作業(もちろん):
colmaximum(:height,excluded(rowstate()))
これは機能しています。しかし、あるコンピューターでは、別のコンピューターではありません。どちらも15.1.0を実行しています。
今、私は完全に混乱しています!
次の投稿のスクリーンショット...
Re:列関数と行の状態面白い。 JMP 16のプレリリースビルドは、r=1およびr=2で正しく機能するようですが、それ以降は正しくありません。
NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
mw = J(NRow(dt), 2, .);
for(r=1, r<=NRow(dt), r++,
Row() = r;
RowState(Row()) = ExcludedState(1);
mw[r,1] = ColMean(:weight, Excluded(RowState(Row())));
mw[r,2] = ColMean(:weight, Excluded());
RowState(Row()) = ExcludedState(0);
);
AsTable(mw);
dt << Distribution(
Continuous Distribution(
Column( :weight ),
Quantiles( 0 ),
Histogram( 0 ),
Outlier Box Plot( 0 )
),
Local Data Filter(
Add Filter(
columns( Transform Column( "Row", Nominal, Formula( Row() ) ) ),
Where( Transform Column( "Row", Nominal, Formula( Row() ) ) == 1 ),
Display(
Transform Column( "Row", Nominal, Formula( Row() ) ),
N Items( 15 ),
Find( Set Text( "" ) )
)
)
)
);Re:列関数と行の状態デイブ、
非常に紛らわしいです。 これは私たちの友人のウェンディへの質問だと思います。Re:列関数と行の状態ソリューションをコーディングできます。私の質問は、バージョン15で列関数のみを使用して実行できるかどうかについてでした。これは、リリースノートから得た印象でした。
Re:列関数と行の状態たぶん、この場合、除外されるのは列統計式の追加のbyVarであるということを、尊重するということですか?
除外された値のない列の最大値が必要な場合、Col Maximumの代わりにSummarizeを使用できますか? 除外された行を無視しているようです。
Names Default To Here(1);
dt =New Table("ExcludeColMax",
Add Rows(6),
Compress File When Saved(1),
New Column("A",
Numeric,
"Continuous",
Format("Best", 12),
Set Values([1, 10, 100, 2, 20, 200]),
Set Display Width(46)
),
New Column("B",
Character,
"Nominal",
Set Values({"A", "A", "A", "B", "B", "B"})
),
New Column("C",
Numeric,
"Continuous",
Format("Best", 12),
Formula(Col Maximum(:A, :B, Excluded())),
Set Display Width(65)
),
Set Row States([0, 0, 6, 6, 0, 6])
);
Write("Looping col max:");
For Each Row(
Show(Col Maximum(:A, :B, Excluded()))
);
Write("\!N\!NOnly col max:");
Show(Col Maximum(:A, :B, Excluded()));
Write("\!N\!NSummarize:");
Summarize(dt, exg = By(:B), exm = Max(:A));
Show(Eval List({exg, exm}));
Show(Max(exm));Re:列関数と行の状態v15.2でテストしましたが、問題は同じです。ユースケースは、列の数式内ではなく、スクリプト内で関数を使用していることに注意してください(行に列の統計が必要な理由がわかりません)。
Re:列関数と行の状態他の誰かが来たら、この非常に単純な例をここに追加します。

Names Default To Here(1);
New Table("ExcludeColMax",
Add Rows(6),
Compress File When Saved(1),
New Column("A",
Numeric,
"Continuous",
Format("Best", 12),
Set Values([1, 10, 100, 2, 20, 200]),
Set Display Width(46)
),
New Column("B",
Character,
"Nominal",
Set Values({"A", "A", "A", "B", "B", "B"})
),
New Column("C",
Numeric,
"Continuous",
Format("Best", 12),
Formula(Col Maximum(:A, :B, Excluded())),
Set Display Width(65)
),
Set Row States([0, 0, 6, 6, 6, 0])
);Re:列関数と行の状態知らせてくれてありがとうございます。それは15.1では機能しません-15.2と比較してみます。
Re:列関数と行の状態私はすぐにテストし、Excluded()のみを使用すると機能するように見えました(15.2.1を使用しています)。