値ラベルがある場合、集計表が間違った順序でソートされる<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、みんな、
プログラムのバグに遭遇したのかと思っただけです。
table summary は、グループ化変数によって並べ替えられたテーブルを生成することが知られています。値ラベルがある場合(値の順序付けがない場合)は当てはまらないことに今気づきました。
例えば:
Open( "$SAMPLE_DATA/Big Class.jmp" );
// これにより、正しくソートされたテーブルが生成されます
データ テーブル( "大きなクラス" ) << 概要( グループ( :age ), 元のデータ テーブルへのリンク( 0 ) );
// ここからがちょっと面白いことになります
:age << value label( {13 = "thirteen"} );
データ テーブル( "大きなクラス" ) << 概要( グループ( :age ), 元のデータ テーブルへのリンク( 0 ) );
Re: 値ラベルがある場合に集計表が間違った順序でソートされるデータをラベルでグループ化すると、実際にデータを変更することなく、さまざまな値を 1 つのグループに集約できる柔軟性が得られます。
また、2 つの値が同じラベルにマップされた場合にどうするかというあいまいさも解消されます。
Re: 値ラベルがある場合に集計表が間違った順序でソートされるあなたが言及したケースでは、1 が低、5 が高とラベル付けされており、予想どおりの結果が得られます。要約では、低が最初にソートされ、高が最後にソートされます。
これを行う他のプラットフォームとしては、表作成やグラフ作成などがあります。
Re: 値ラベルがある場合に集計表が間違った順序でソートされるこんにちは、チョンウェイさん
私はそうは思わない。 JMP は、値自体に加えて値ラベルを提供する完璧な柔軟性を備えています。これは補完的であり、代替となるべきではありません。これにより多次元性が可能になります。
table summary は、値ラベルがその場で再コードされるべきであると推測するこの動作を持つプログラムでこれまでに遭遇した唯一のケースです。
それを行う他のプラットフォーム/プロセスをご存知の場合はお知らせください。
さらに、値ではなくラベルで並べ替えるのが正しいとは思えません。次のことを考慮してください。ユーザーが 1 を「低」、5 を「高」とラベル付けした 1 ~ 5 の値を取る変数を使用します。この場合、その変数による要約は直感的ではない順序で表示されます。 (つまり、Low、2、3、4、High の代わりに High、Low、2、3、4)。それは些細なラベル付けの場合です。ラベル付けがより「洗練された」場合、直感と結果の差はさらに大きくなる可能性があります。
ありがとう!
Re: 値ラベルがある場合に集計表が間違った順序でソートされる誰かが 2 つの異なる値に同じラベルを割り当てたとき、その 2 つをグループ化したいと考えませんか?
Re: 値ラベルがある場合に集計表が間違った順序でソートされるJeff さん、ありがとう。値ラベルによるこの「再コーディング」動作は、どの分析プラットフォームでも発生しません (すべきではありません)。
他のテーブルメニューオプションでも分割などは行われません。
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt:age << value label({13 = "thirteen", 17 = "thirteen"});
データ テーブル( "大きなクラス" ) << Split(
分割方法( :age )、
Split( :身長, :体重 ),
残りの列(すべて削除)
);
Re: 値ラベルがある場合に集計表が間違った順序でソートされるジェフとMSに感謝します。
jmp が値ラベルを取得し、ユーザーが変数を再コード化するつもりであると突然仮定するのは不適切だと思います。
ロン
Re: 値ラベルがある場合に集計表が間違った順序でソートされるそれは理にかなっていますが、Jeff 氏、Graph Builder() は、値ラベルを使用してカテゴリを並べ替える方法に関して Summary() に同意していないようです。
dt =開ける( "$SAMPLE_DATA/Big Class.jmp" ) ;
dt :年<<値ラベル({ 13 = 「十三」 、 17 = 「十三」 }) ;
つむ= ( dt <<まとめ(グループ( :年))) ;
つむ<<グラフビルダー(変数(バツ( :年) 、 Y ( : N 行))) ;
// そして、「thirteen」は 13 のみを表すようです
見せる(つむ:年<<値を取得する、コル・サム(つむ:年)) ;
Re: 値ラベルがある場合に集計表が間違った順序でソートされるここでの問題は、2 つの異なる値が同じ値ラベルにマッピングされている場合に JMP が何をすべきかということだと思います。
あなたの例では 1 つしかありませんが、これを考慮してください。
Open( "$SAMPLE_DATA/Big Class.jmp" );
dt = current data table();
:age << value labels( {13 = "thirteen", 17="thirteen"} );
Data Table("Big Class")<<Summary( Group(:age ), Link to original data table(0));
「13」は 2 つの異なる年齢を表すため、どちらの場所にも並べ替えることはできません。
-ジェフ
Re: 値ラベルがある場合に集計表が間違った順序でソートされるありがとうチョンウェイ、
ソートが値ではなくラベルによって行われるのは少し驚くべきことです。私は実際にソートを期待していましたが、これはまったく予想していませんでした。それが意図されているのであれば、おそらくユーザーの一歩先を考えようとしているのでしょう。
Re: 値ラベルがある場合に集計表が間違った順序でソートされるありがとう、マイディーズさん
私はバージョン10を使用していました。
Re: 値ラベルがある場合に集計表が間違った順序でソートされる要約すると、グループ化列のカテゴリは、対応する値のラベルによって並べられます。
ラベルのないカテゴリの場合、その値はテキスト文字列にフォーマットされ、並べ替えられたラベルの後 (グループ化列を降順で並べ替えている場合は前) にランク付けされます。
これがあなたの例で観察されたことです。
Re: 値ラベルがある場合に集計表が間違った順序でソートされるスクリプトは説明どおりに動作しませんでした。 コードを実行すると、最初の集計テーブルに :age <
この変更されたコードは、説明どおりに動作します。 なぜこのようなことが起こるのかについては答えがありませんが、他の人のトラブルシューティングに役立つかもしれません。 JMP標準11.2を実行しています
Open( "$SAMPLE_DATA/Big Class.jmp" );
dt = 現在のデータテーブル();
// これにより、正しくソートされたテーブルが生成されます
データ テーブル( "大きなクラス" ) << 概要( グループ( :age ), 元のデータ テーブルへのリンク( 0 ) );
// ここからがちょっと面白いことになります
//as column(dt, :age) << value label( {13 = "thirteen"} ); // <-- 何らかの理由で、これによって「Big Class」テーブルは変更されません。 dtを指定しても上記の集計表は変わります。 それを修正するには、以下のコードを使用してください。
現在のデータテーブル(dt);
:age << value label( {13 = "thirteen"} );
データ テーブル( "大きなクラス" ) << 概要( グループ( :age ), 元のデータ テーブルへのリンク( 0 ) );