ソートされていないデータの重複を見つけて特定するJMPはかなり新しいので、数式の使用方法に関する私の知識はかなり限られています。
値(文字)の列があり、それらを別の列の重複として識別したい場合、どの式を使用しますか? (私のデータには、すでに別の列の値でソートされた10個の列があります)
過去に、私は以下の式を使用しました(重複を特定する必要があるデータがアルファベット順にソートされている場合)。
If(
Row()== 1、1、
:Column1!= Lag(:Column1)、1、
0
)。
入ってくる方法以外の方法でソートされたデータを提示することは許可されていないので、重複を示す方法に少し戸惑っています。
ありとあらゆる助けをいただければ幸いです。
データ表Re:ソートされていないデータの重複を見つけて特定する
多分この行は役立ちます
dt =現在のデータテーブル();
dt <<重複する行を選択します(Match(:column_1、:column_2、:column_3));
これにより、列1から3の上位の組み合わせで一意ではない行が選択されます。
この選択により、削除、非表示、除外、追加の列への入力、またはそれらを使用して実行する操作を実行できます。
r_select = dt << select rows(dt << get selected rows); //これにより、行番号のベクトルが取得されます。
r_select <<行の削除;
または
r_select << Hide and Exclude;
Re:ソートされていないデータの重複を見つけて特定するご回答ありがとうございます。
私は自分自身をうまく説明できなかったと思います。 私が欲しいのは、特定の値が重複しているかどうかを示すヘルパー列です。おそらく、「1」はすべての重複を示し、「0」は重複がないことを示します。 重複を非表示にしたり削除したりしたくありません。
Re:ソートされていないデータの重複を見つけて特定する以下は、スクリプトでこれを行うための少なくとも2つの方法です。
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(7),
Compress File When Saved(1),
New Column("Column 1",
Numeric,
"Continuous",
Format("Best", 12),
Set Values([1, 1, 2, 3, 2, 5, 1]),
Set Display Width(60)
)
);
dt << New column("Dublicate_formula", Numeric, <<FORMULA> 1, 1,0))
);
dt << Select duplicate rows(Match(:column 1));
dubRows = dt << Get Selected Rows;
dt << New Column("Dublicates", Numeric, Nominal);
Column(dt, "Dublicates")[dubRows] = 1;
Column(dt, "Dublicates")[dt << Get Rows Where(IsMissing(:Dublicates))] = 0;</FORMULA>スクリプトなしでこれを行うこともできます。
- 関心のある列を選択します。
- [行]メニューから:[行の選択]-> [重複する行を選択]
- 行メニュー:行の選択->列の名前の選択
- 名前を選択し、1として選択し、0として選択解除します
Re:ソートされていないデータの重複を見つけて特定する例としてビッグクラスのデータテーブルを使用している以下の数式を使用して、数式列としてこれを行うこともできます
If( Row() == 1,
Current Data Table() << select duplicate rows(
Match( :age, :sex, Empty() )
)
);
If( Selected( Row State( Row() ) ),
"Group 1",
"Group 2"
);
Re:ソートされていないデータの重複を見つけて特定するどうもありがとうございました。 スクリプトを使用せずにマークを付けることができました。
あなたの助けに感謝!
Re:ソートされていないデータの重複を見つけて特定する列数式を使用した別の例を次に示します。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// Create a column that indicates duplicate names (there are two "Robert")
dt << New Column( "Duplicate", Formula( If( Col Number( Row(), :name ) > 1, 1, 0 ) ) );