グループごとのColumnRank?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、
«ColumnRank by…» (グループ) に相当する数式を作成する方法はありますか。 私は通常、ディストリビューション プラットフォームを使用し («グループ別» オプションを使用)、その目的のためにランクを静的な列に保存します。 しかし、今回は動的列 (計算済み) が必要です。
ありがとう、
クロード
Re: グループごとのColumnRank?こんにちは、みんな、
Col Rank 関数は、最初に要求されたとおり、BY 変数をサポートするようになりました。 JMP 13 のタイムフレームで完全なサポートが追加されたようです。そのため、そのバージョンまたはそれより新しいバージョンを使用している場合は、これを実行できるはずです。
オンラインの JMP ヘルプには、いくつかの詳細とタイブレーク オプションが記載されています。
https://www.jmp.com/support/help/en/15.1/#page/jmp/statistical-functions-2.shtml?os=win&source=application#ww2752649
これが古いスレッドであることは知っていますが、この情報を探している他の人が利用できるようにしたかったのです。
乾杯!
オードリー
Re: グループごとのColumnRank?ありがとうロン。
最後に、元の更新スクリプトを変更することにしました。 手順は次の 3 ステップです。
- 最初のステップは、新しいテーブルを作成する元の更新 (ODBC データ ソース) です (ハード コード列のため)。
- 次に、2 番目のスクリプト ステップで、メイン テーブルをこの新しいテーブルのデータで更新します。
- 最後のステップは、新しいテーブルを閉じることです。
このようにして、必要な数の新しいハード コード列を作成できます (スクリプトを修正する必要はありません)。
クロード
Re: グループごとのColumnRank?やあクロード・ベラヴァンス、
更新で問題が発生した場合は、更新の直前にハードコードされた列を削除し、すぐに再導入するだけです。
そのような:
ハードコードされた列を削除します。
アップデート;
ハードコードされた列を再計算します。
一番、
ロン
Re: グループごとのColumnRank?どうもありがとうロン。 問題を解決するための独創的な方法です。
残念ながら、計算列を通過する必要があるため、スクリプトを使用できません。 実際、ハード データを含む列を追加すると、(DNS/ODBC を介して) データベースを使用してテーブルを更新すると、単にデータを置き換えるのではなく、新しいテーブルが作成されます。
クロード
Re: グループごとのColumnRank?やあクロード・ベラヴァンス
という考え方にも不満があります」絆は勝手に切れる」 .少なくとも、通常の序数変数で起こるように、同順位が同じランクになるように変更するオプションが必要です。
テーブルをソートせずに「ランク付け」する別の方法があります-私の場合、ソートは面倒です。ネクタイに等しい値を与えます。
一番、
ロン
名前のデフォルトはここ( 1 ) ;
// データ ソースを定義します
dt =開ける( "$SAMPLE_DATA/Big Class.jmp" ) ;
// ランクの列を追加
dt <<新しい列( 「ランク」 、数値、序数) ;
//// オプション 1: 列によるランク付け
// 変数レベル別のリストを抽出します
byvarlist =連想配列( dt :年) <<キーを取得する;
// 年齢層ごとに個別の身長のランク リストを作成します
にとって(イブ= 1 、イブ<=アイテム( byvarlist ) 、イブ++、
評価(解析する( 「ハイトリスト」 ||チャー( byvarlist [イブ])) || " = 連想配列( " ||チャー( dt :身長[ dt <<行を取得する場所( :年== byvarlist [イブ])]) || " ) << キーを取得" ))) ;
) ;
にとって( IC = 1 、 IC <=ナロー( dt ) 、 IC ++、
:ランク[ IC ] =評価(解析する( "loc( 高さリスト " ||チャー( dt :年[ IC ] ) || 「、」 ||チャー( dt :身長[ IC ])) || " ) " ))) ;
) ;
// 動作したかどうかを確認する
dt <<選別(
に( :年、 :身長) 、
注文(上昇、上昇)
) ;
////
//// オプション 2: ランク (by 列なし)
// 高さの一意の値をリストとして取得します
高さリスト=連想配列( dt :身長) <<キーを取得する;
にとって(私= 1 、私<= N 行( dt ) 、私++、
dt :ランク[私] =ロク(高さリスト、 :身長[私] ) ;
) ;
// 動作したかどうかを確認する
dt <<選別(
に( :身長) 、
注文(上昇)
) ;
Re: グループごとのColumnRank?ジェリーさん、こんにちは。
問題ない。 いつか願いが叶う日が来るのを楽しみにしています!
どうもありがとうございました。
クロード
Re: グループごとのColumnRank?混乱して申し訳ありませんが、これを見ているときに、システムでアクティブになっているバージョンに注意を払っていなかったようです。 その結果、「将来の」JMP バージョンで予定されている機能の「無許可の」プレビューを入手したことになります。
Re: グループごとのColumnRank?MS さん、こんにちは。
なるほど、これは非常に興味深い回避策。 それは私に開かれています完全に新しい領域 (評価、式など)。
この新機能「ColRank by…」を備えた将来の JMP バージョンに期待しています。
私の質問に答えるために時間を割いてくれてありがとう。
クロード
Re: グループごとのColumnRank?Col Rank() のオプションの引数は、現在の JMP バージョンではサポートされていません。
本当に動的に機能する適切な回避策はありません。 以下の例の列式は機能しますが、変数がグループ内でソートされている場合のみです。
dt =開ける( "$SAMPLE_DATA/Big Class.jmp" ) ;
dt <<選別(に( :年、重さ) 、テーブルを交換( 1 ))) ;
ふ=式(
評価(評価式(列番号( :重さ、行() <=式(行()) 、:年))))
) ;
dt <<新しい列( 「年齢別体重ランキング」 、数値、方式(名前Expr (ふ)))) ;
Re: グループごとのColumnRank?ジェリーさん、こんにちは。
もっと説明してください。 マニュアルは、この 3 番目の引数について非常に最小限に抑えています。
コルランク
最小値の 1 から非値の数まで、各行の値をランク付けします。 ‐最高値の列が欠落しています。 縁は勝手に切れる.
それが何を意味し、どのように使用するのか理解できません。
ご協力ありがとうございました!
クロード
Re: グループごとのColumnRank?こんにちはクロード、
Col Rank(column, ) 関数は、探していることを行います。 同点を解消するためのデフォルトは行順ですが、オプションの 3 番目の引数を使用して他の選択肢を選択できます。 お役に立てれば。
-ジェリー