同じ値を持つ列を選択する方法こんにちは、
同じ値(継続と公称)を持つ列を選択するにはどうすればよいですか?
ありがとう、
アサフ
Re: 同じ値を持つ列を選択する方法あなたが求めているのは、列全体で値が 1 つだけあるすべての列、たとえば 1 だけを持つ列や「X」でいっぱいの列を検索する方法だと思います。
そうだとすると、列ビューア(列 -> 列ビューア) はこれを行うための優れたツールです。

[要約統計量] テーブルを N カテゴリまたは標準偏差列で並べ替えて、カテゴリが 1 つだけまたは標準偏差が 0 のすべての列をまとめて取得できます。

Re: 同じ値を持つ列を選択する方法@Assaf1 、
本当に欲しいものは何ですか? 列 1 のすべての値が列 2 のすべての値と同じであるすべての列を検索しようとしていますか? もしそうなら、あなたのロジックがどのように機能するかわかりません。 表示しているロジックは最大値と最小値の間のデルタのみを比較しているため、最大値が 6、最小値が -6 である列と、最大値が 7、最小値が -7 である別の列がある場合、両方とも満たします。列の値が必ずしも同じであるとは限りませんが、あなたの状態
Re: 同じ値を持つ列を選択する方法ご協力ありがとうございました。
私の質問は、同じ値を持つすべての列を選択することです(そのような列のリストを含む新しいテーブルを開かないでください)。
目的は、これらの列を特定し、これらの列を削除するか非表示にするかを決定できるようにすることです。
満足のいく解決策を見つけました:
dt = Current Data Table();
dt << clear column selection ();
m = dt << getAllColumnsAsMatrix;
wait (0);
for(c=1, c<=NCol(m), c++,
if( (max(m[0,c]) - min(m[0,c]) == 0),
column (dt, c) << set selected ();
);// Loop over the columns and record which are contains only single value
);
どうもありがとう
Re: 同じ値を持つ列を選択する方法使用している JMP のバージョンが指定されていません。 「テーブルの概要」>「N カテゴリ」は、JMP 12 以降で使用できます。 スクリプトもファイルとして添付されます。
Names Default to Here(1);
dt = Open("$sample_data/semiconductor capability.jmp");
cnames = dt << get column names(Continuous|Ordinal|Nominal, "String");
uni = dt << Summary( Invisible,
N Categories( evalList(cnames) ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" ),
Link to Original Data Table(0)
);
nmiss = dt << Summary( Invisible,
N Missing( evalList(cnames) ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" ),
Link to Original Data Table(0)
);
ftbl = uni << Stack( Columns(EvalList(cnames) ),
Source Label Column( "Name" ),
Stacked Data Column( "N Categories" )
);
Close(uni,NoSave);
tmptbl = nmiss << Stack(Invisible, Columns(EvalList(cnames) ),
Source Label Column( "Name" ),
Stacked Data Column( "N Missing" )
);
Close(nmiss,NoSave);
ftbl << Update( With( tmptbl ) );
Close(tmptbl, NoSave);
(ftbl << select where ( :N Categories > 1)) << delete rows;
//Note you can select columns where they have at least k unique values.Re: 同じ値を持つ列を選択する方法@Assaf1 、
このようなことを試してみてください。同じことを達成する他の方法が常にあると確信しています
dt = New Table("Test");
Vals = Index(1,4,1);
dt << New Column("A",Numeric,Continuous,<< Set Values(Vals))
<< New Column("B",Numeric,Continuous,<< Set Values(Vals))
<< New Column("C",Character,Continuous,<< Set Values({"a","b","c","d"}))
<< New Column("D",Character,Continuous,<< Set Values({"a","b","c","d"}));
AVals = dt:A << Get Values;
BVals = dt:B << Get Values;
CVals = dt:C << Get Values;
DVals = dt:D << Get Values;
If(All(AVals == BVals),Print("It's a match"), Print("They aren't same"));
If(All(CVals == DVals),Print("It's a match"), Print("They aren't same")); Re: 同じ値を持つ列を選択する方法[行] - [行の選択] - [場所を選択] - を使用し、列を比較するというボックスをオンにします。2 つの列を選択し、それらの 2 つの列に一致するすべての行を選択できます。さらに多くの列に拡張したい場合は、もう一度同じことを行ってください。ただし、ドロップダウン メニューを現在の選択に「制限」するように変更してください。
Re: 同じ値を持つ列を選択する方法明確にするために、複製された列ではなく、すべての行に同じ値が含まれる列です。
再度、感謝します!