Sas: so verwenden sie proc sort mit der keep-anweisung
Sie können PROC SORT mit der KEEP -Anweisung in SAS verwenden, um Zeilen in einem Datensatz zu sortieren und nach der Sortierung nur bestimmte Spalten beizubehalten.
Dazu können Sie die folgende grundlegende Syntax verwenden:
proc sort data=my_data out =sorted_data ( keep =var1 var2);
by var2;
run ;
In diesem speziellen Beispiel werden die Zeilen im Datensatz basierend auf den Werten in Spalte var2 sortiert und nach der Sortierung werden nur die Spalten var1 und var2 beibehalten.
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: Verwenden Sie PROC SORT mit der KEEP-Anweisung in SAS
Angenommen, wir haben den folgenden Datensatz in SAS, der Informationen über verschiedene Basketballteams enthält:
/*create dataset*/
data my_data;
input team $points assists;
datalines ;
Mavs 113 22
Pacers 95 19
Cavs 100 34
Lakers 114 20
Heat 123 39
Kings 100 22
Raptors 105 11
Hawks 95 25
Magic 103 26
Spurs 119 29
;
run ;
/*view dataset*/
proc print data =my_data;
Wir könnten die folgende Syntax verwenden, um die Zeilen des Datensatzes basierend auf den Werten in der Punktespalte zu sortieren:
/*sort rows in dataset based on values in points column*/
proc sort data =my_data out =sorted_data;
by points;
run ;
/*view sorted dataset*/
proc print data =sorted_data;
Beachten Sie, dass die Zeilen jetzt in aufsteigender Reihenfolge basierend auf den Werten in der Punktespalte sortiert sind.
Standardmäßig behält SAS nach dem Sortieren alle Spalten im Datensatz bei.
Sie können jedoch mit der KEEP- Anweisung angeben, welche Spalten nach dem Sortieren beibehalten werden sollen.
Beispielsweise können wir die folgende Syntax verwenden, um die Zeilen im Datensatz basierend auf den Werten in der Punktespalte zu sortieren und dann nur die Team- und Punktespalten beizubehalten:
/*sort rows in dataset based on values in points column and only keep team and points*/
proc sort data=my_data out =sorted_data ( keep =team points);
by points;
run ;
/*view sorted dataset*/
proc print data =sorted_data;
Auch hier werden die Zeilen in aufsteigender Reihenfolge basierend auf den Werten der Punktespalte sortiert, aber dieses Mal haben wir die KEEP- Anweisung verwendet, um nach der Sortierung nur die Team- und Punktespalten beizubehalten.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in SAS ausführen:
So verwenden Sie PROC SORT mit NODUPKEY in SAS
So benennen Sie Variablen in SAS um
So erstellen Sie neue Variablen in SAS