Sas: so verwenden sie die where-option mit set
Sie können die WHERE- Option mit SET in SAS verwenden, um ein neues Dataset zu erstellen, das nur Zeilen aus einem anderen Dataset enthält, in denen bestimmte Bedingungen erfüllt sind.
Hier sind zwei gängige Möglichkeiten, diese Option in der Praxis zu nutzen:
Methode 1: Verwenden Sie WHERE und SET mit einer Bedingung
data new_data;
set my_data ( where = (dots>20));
run ;
In diesem Beispiel wird ein neuer Datensatz namens „new_data“ erstellt, der nur Zeilen in „ my_data“ enthält, deren Wert in der Punktespalte größer als 20 ist.
Methode 2: Verwenden Sie WHERE und SET mit mehreren Bedingungen
data new_data;
set my_data ( where = (points>20 or team="Rockets"));
run ;
In diesem Beispiel wird ein neues Dataset namens „new_data“ erstellt, das nur die Zeilen in „ my_data“ enthält, in denen der Wert in der Punktespalte größer als 20 ist oder der Wert in der Teamspalte gleich „Rockets“ ist.
Die folgenden Beispiele zeigen, wie jede Methode in der Praxis mit dem folgenden Datensatz in SAS verwendet wird:
/*create dataset*/
data my_data;
input team $points assists;
datalines ;
Mavs 22 10
Rockets 12 14
Spurs 29 8
Kings 13 10
Warriors 44 10
Heat 18 8
Magic 11 5
Pelicans 19 3
Blazers 12 8
;
run ;
/*view dataset*/
proc print data =my_data;
Beispiel 1: Verwenden Sie WHERE und SET mit einer Bedingung
Mit der folgenden Syntax können wir einen neuen Datensatz namens „new_data“ erstellen, der nur die Zeilen in „ my_data “ enthält, in denen der Wert in der Punktespalte größer als 20 ist:
/*create new dataset*/
data new_data;
set my_data ( where = (dots>20));
run ;
/*view new dataset*/
proc print data = new_data;
Beachten Sie, dass in diesem Datensatz nur Zeilen mit einem Wert größer als 20 in der Punktespalte enthalten sind.
Beispiel 2: Verwendung von WHERE und SET mit mehreren Bedingungen
Wir können die folgende Syntax verwenden, um einen neuen Datensatz namens new_data zu erstellen, der nur die Zeilen in my_data enthält, in denen der Wert in der Punktespalte größer als 20 ist oder der Wert in der Teamspalte gleich „Rockets“ ist:
/*create new dataset*/
data new_data;
set my_data ( where = (points>20 or team="Rockets"));
run ;
/*view new dataset*/
proc print data = new_data;
Beachten Sie, dass in diesem Datensatz nur Zeilen mit einem Wert größer als 20 in der Punktespalte oder einem Wert von „Rockets“ in der Teamspalte enthalten sind.
Hinweis : Sie können und anstelle von oder verwenden, um nur Zeilen einzuschließen, die mehr als eine Bedingung erfüllen.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in SAS ausführen:
So verwenden Sie die SET-Anweisung mit mehreren Datensätzen in SAS
So wählen Sie die ersten N Zeilen eines Datensatzes in SAS aus
So löschen Sie Datensätze in SAS