Rechercher et identifier les doublons pour les données non triéesAssez nouveau pour JMP, donc mes connaissances sur l'utilisation des formules sont assez limitées.
Si j'ai une colonne de valeurs (caractère) et que je souhaite les identifier comme des doublons dans une colonne différente, quelle formule utiliserais-je? (Mes données ont 10 colonnes déjà triées selon les valeurs d'une colonne différente)
Dans le passé, j'ai utilisé la formule ci-dessous (lorsque les données nécessitant des doublons identifiés ont été triées par ordre alphabétique).
Si(
Ligne () == 1, 1,
: Colonne1! = Retard (: Colonne1), 1,
0
)
Étant donné que je ne suis pas autorisé à présenter des données triées d'une autre manière que la manière dont elles arrivent, je ne sais pas trop comment indiquer les doublons.
Toute aide est appréciée.
Tableau de donnéesRe: Rechercher et identifier les doublons pour les données non triées
Peut-être que cette ligne aide
dt = tableau de données actuel ();
dt << Sélectionnez les lignes en double (Match (: column_1,: column_2,: column_3));
Cela sélectionnera les lignes qui ne sont pas uniques dans la combinaison supérieure des colonnes 1 à 3.
Avec la sélection, vous pouvez maintenant supprimer, masquer et exclure, remplir une colonne supplémentaire ou ce que vous voulez en faire.
r_select = dt << sélectionner les lignes (dt << obtenir les lignes sélectionnées); // cela vous donne un vecteur de numéro de ligne.
r_select << Supprimer les lignes;
ou
r_select << Masquer et exclure;
Re: Rechercher et identifier les doublons pour les données non triéesMerci pour votre réponse.
Je ne pense pas m'être bien expliqué. Ce que je veux, c'est une colonne d'aide pour indiquer si une certaine valeur est en double, peut-être avec un "1" indiquant tous les doublons, et un "0" indiquant aucun doublon. Je ne souhaite ni masquer ni supprimer les doublons.
Re: Rechercher et identifier les doublons pour les données non triéesVous trouverez ci-dessous au moins deux façons de procéder avec les scripts:
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>Vous pouvez également le faire sans aucun script:
- Sélectionnez les colonnes qui vous intéressent.
- Dans le menu Lignes: Sélection de lignes -> Sélectionner les lignes de publication
- Menu Lignes: Sélection de ligne -> Sélection de nom dans la colonne
- Choisissez le nom, sélectionné comme 1 et non sélectionné comme 0
Re: Rechercher et identifier les doublons pour les données non triéesVous pouvez également le faire en tant que colonne de formules en utilisant la formule ci-dessous qui utilise le tableau de données Big Class comme exemple
If( Row() == 1,
Current Data Table() << select duplicate rows(
Match( :age, :sex, Empty() )
)
);
If( Selected( Row State( Row() ) ),
"Group 1",
"Group 2"
);
Re: Rechercher et identifier les doublons pour les données non triéesMerci beaucoup. J'ai pu marquer sans utiliser le script.
Apprécier ton aide!
Re : Rechercher et identifier les doublons pour les données non triéesVoici un autre exemple utilisant une formule de colonne.
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 ) ) );