Mit JSL ermitteln, wie oft ein Eintrag innerhalb einer Spalte wiederholt wurdeHallo zusammen,
Ich schreibe ein JSL-Skript, um die wiederholten Zeichenfolgeneinträge (dh Zeilen) in einer Spalte zu finden. In der Spalte werden grundsätzlich verschiedene Tests aufgelistet, die normalerweise wiederholt werden.
Ich versuche Folgendes herauszufinden: Wenn ich herausfinden kann, wie oft diese Zeilen wiederholt wurden, wähle ich die obersten N wiederholten Einträge aus und füge diese ausgewählten Einträge dann in eine Liste ein, die vom Diagrammersteller analysiert oder tabellarisch erstellt werden soll.
Jede Hilfe wird geschätzt.
Automatisierung und SkripterstellungGrundlegende Datenanalyse und ModellierungDatenzugriffBetreff: Mit JSL ermitteln, wie oft ein Eintrag innerhalb einer Spalte wiederholt wurdeSo würde ich das angehen
names default to here(1);
dt=current data table();
// Get each different string value and the number of repeated strings
summarize(dt, byGroup = by(:sex), number = count(:height));
show( byGroup, number );
// To find which rows that have the same values
theRows = dt << get rows where( :sex == byGroup[1] );
show(theRows);
Betreff: Mit JSL ermitteln, wie oft ein Eintrag innerhalb einer Spalte wiederholt wurdeKönnten Sie ein Beispiel (und eine Lösung für das Beispiel) angeben, damit es einfacher ist zu verstehen, was Sie erreichen möchten, da mir mindestens drei verschiedene Fälle in den Sinn kommen?
Betreff: Mit JSL ermitteln, wie oft ein Eintrag innerhalb einer Spalte wiederholt wurdeVielen Dank @txnelson für Ihre Lösung. Dies funktioniert perfekt, um die doppelten Spalten zu finden und herauszufinden, wie oft sie dupliziert wurden. Das Problem, das ich jetzt habe, ist, dass ich versuche, die obersten N (z. B. N = 5) wiederholten Zeichenfolgen zu finden und sie zur weiteren Auswertung in eine Liste einzufügen. Ich konnte nur das oberste Element in der Liste finden.
Meine Frage: Gibt es eine Möglichkeit, die obersten N Elemente zu finden, wobei N eine beliebige ganze Zahl sein kann? Danke!
Ich habe den Code wie folgt geändert:
names default to here(1);
dt=current data table();
// Get each different string value and the number of repeated strings
summarize(dt, byGroup = by(:Temp_), number = count(:Site));
list = {};
list[1] = 0;
// To find which rows that have the same values
for(i=2, i <N items=""></N>Betreff: Mit JSL ermitteln, wie oft ein Eintrag innerhalb einer Spalte wiederholt wurdeHallo @jthi .
Ein Beispiel hierfür wäre die Spalte „Geschlecht“ in JMP-Daten großer Klassen. Die Spalte enthält F und M und wird mehrmals wiederholt. Ich möchte ein JSL-Skript schreiben, das zählt, wie oft F oder M wiederholt wurde. Der von @txnelson bereitgestellte Code funktioniert in diesem Fall perfekt. Ist das sinnvoller? Danke
Betreff: Mit JSL ermitteln, wie oft ein Eintrag innerhalb einer Spalte wiederholt wurdeSie können „Zusammenfassen“ verwenden, um die Anzahl der Elemente zu ermitteln. Um dann die Top 5 zu ermitteln, können Sie beispielsweise „Reverse(Rank())“ für die Anzahl verwenden und die gefundenen Indizes für Ihre Gruppen verwenden
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
// Get each different string value and the number of repeated strings
Summarize(dt, uniq = by(:age), count = Count(:height)); // some column which is numeric to Count
r = Reverse(Rank(count));
top5 = Try(uniq[r][1::5], uniq[r]);
show(uniq, count, top5);