So verwenden sie die option in= in sas


Sie können die Option IN= in SAS verwenden, um eine boolesche Variable zu erstellen, die angibt, ob die aktuelle Beobachtung aus dem Eingabedatensatz stammt oder nicht.

Die Option IN= wird häufig verwendet, wenn Sie zwei Datensätze zusammenfügen und wissen möchten, ob eine bestimmte Zeile im resultierenden Datensatz aus einem der spezifischen Eingabedatensätze stammt.

Das folgende Beispiel zeigt, wie die Option IN= in der Praxis verwendet wird.

Beispiel: So verwenden Sie die Option IN= in SAS

Angenommen, wir haben zwei Datensätze mit Informationen über Basketballspieler in den Eastern- und Western-Konferenzen der NBA:

 /*create East dataset*/
data east_data;
    input team $points;
    datalines ;
Celtics 22
Pistons 14
Nets 35
Hornets 19
Magic 22
;
run ;

/*create West dataset*/
data west_data;
    input team $points;
    datalines ;
Mavs 40
Rockets 39
Warriors 23
Lakers 19
Clippers 25
;
run ;

/*view datasets*/
proc print data =east_data;
proc print data =west_data;

Mit der folgenden Syntax können wir einen neuen Datensatz erstellen, der diese beiden Datensätze hinzufügt:

 /*create new dataset*/
data all_data;
    set east_data west_data;
run ;

/*view new dataset*/
proc print data =all_data; 

Beachten Sie, dass jede Zeile in jedem Datensatz zum neuen Datensatz gehört.

Um herauszufinden, aus welchem Datensatz jede Zeile stammt, können wir die Option IN= wie folgt verwenden:

 /*create new dataset*/
data all_data;
    set east_data west_data( in =i);
    if i then conf='West';
    else conf='East';
run ;

/*view new dataset*/
proc print data =all_data; 

Mit der Option IN= können wir eine neue Spalte namens conf erstellen, die den Wert „East“ annimmt, wenn die Zeile aus dem Datensatz namens „east_data“ stammt, und den Wert „West“, wenn die Zeile aus dem Datensatz „east_data“ stammt. Daten namens ouest_data .

Beachten Sie, dass wir auch nur eine IF- Anweisung ohne ELSE- Anweisung verwenden könnten, um eine neue Spalte zu erstellen, die einfach den Wert * annimmt, wenn die Zeile aus dem Datensatz namens east_data stammt:

 /*create new dataset*/
data all_data;
    set east_data( in =i) west_data;
    if i then east_conf='*';
run ;

/*view new dataset*/
proc print data =all_data; 

Mit der Option IN= können wir eine neue Spalte namens „east_conf“ erstellen, die den Wert * annimmt, wenn die Zeile aus dem Datensatz „ east_data“ stammt, und keinen Wert, wenn die Zeile aus dem Datensatz „ west_data“ stammt.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in SAS ausführen:

So verwenden Sie den NOT EQUAL-Operator in SAS
So verwenden Sie einen „NOT IN“-Operator in SAS
So führen Sie eine Zusammenführung durch, wenn A nicht B in SAS ist

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert