jsl, um eine Tabellenteilmenge der häufigsten Werte in einer Spalte zu erstellen<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo alle,
Ich bin ein neuer Benutzer, der sich noch mit den Grundlagen vertraut macht, und normalerweise kann ich die Antworten, die ich brauche, durch Suchen finden, aber diese Antwort entgeht mir.
Ich suche nach einem Skript zum Erstellen einer Tabellenteilmenge der zehn am häufigsten vorkommenden Werte einer ausgewählten Spalte. Meine aktuelle Lösung besteht darin, eine Übersichtstabelle zu erstellen, die Übersichtstabelle nach absteigendem Wert zu sortieren, die obersten zehn Zeilen auszuwählen und dann zur ersten Tabelle zurückzukehren und eine Teilmenge der ausgewählten Zeilen zu erstellen. Ich bin mir sicher, dass es eine elegante Lösung gibt, aber ich kann sie einfach nicht finden. Danke!
Betreff: jsl zum Erstellen einer Tabellenteilmenge der häufigsten Werte in einer SpalteHallo MS,
Vielen Dank für Ihre Antwort. Ich hätte in meinem ursprünglichen Beitrag erwähnen sollen, dass es sich bei den Daten, an denen ich interessiert war, um Zeichendaten und nicht um Zahlen handelte. Ich setze jedoch ein Lesezeichen für Ihre Antwort, da ich in Zukunft dieselbe Zusammenfassung mit numerischen Daten erstellen muss.
Betreff: jsl zum Erstellen einer Tabellenteilmenge der häufigsten Werte in einer SpalteDanke Jim, das hat perfekt funktioniert.
Betreff: jsl zum Erstellen einer Tabellenteilmenge der häufigsten Werte in einer SpalteEine Alternative wäre die Verwendung von Summarize() anstelle einer Übersichtstabelle und das Überspringen des Sortierschritts durch Verwendung der Funktion Rank(). Leider sind die Statistikoptionen in Summarize auf numerische Spalten beschränkt; Das folgende Beispielskript funktioniert daher nicht für Zeichenspalten.
dt = Offen ( „$SAMPLE_DATA/big class.jmp“ ) ;
N = 3 ; // Anzahl der häufigsten Werte
Zusammenfassen ( G = von ( : Alter ) , C = Zählen ( : Alter )) ;
dt << Teilmenge ( Reihen ( dt << Wählen Sie wo aus ( Enthält ( Umkehren ( G [ Rang ( C )])[ 1 :: N ] , Verkohlen ( : Alter ))))) ;
Betreff: jsl zum Erstellen einer Tabellenteilmenge der häufigsten Werte in einer SpalteHier ist ein Beispielskript, das nur mit den Top-5-Auswahlen arbeitet, da die Beispieldatentabelle so klein ist.Aber ich denke, man kann sehen, wie es funktioniert.
Namen werden standardmäßig hier angezeigt ( 1 );
dt= offen ( „$SAMPLE_DATA/big class.jmp“ );
dtsumm = dt << Zusammenfassung (
Gruppe( :height ),
Freq( "Keiner" ),
Gewicht( "Keiner" )
);
dtsumm << Sortieren ( Nach (: N Zeilen), Reihenfolge (absteigend), Tabelle ersetzen ( 1 ) );
dtsumm << Wählen Sie wo aus ( Reihe ()> 5 )
dtsumm << Zeilen löschen ;
dtfinal = dt << Verbinden (mit(dtsumm) ,
Durch übereinstimmende Spalten (:height =:height),
Vielfaches löschen( 0 , 0 ),
Nichtübereinstimmungen einbeziehen( 0 , 0 ),
Reihenfolge der Haupttabelle beibehalten( 1 )
);