Hoe de optie in= in sas te gebruiken
U kunt de optie IN= in SAS gebruiken om een Booleaanse variabele te maken die aangeeft of de huidige waarneming al dan niet uit de invoergegevensset komt.
De optie IN= wordt vaak gebruikt wanneer u twee gegevenssets bij elkaar optelt en wilt weten of een bepaalde rij in de resulterende gegevensset afkomstig is uit een van de specifieke invoergegevenssets.
Het volgende voorbeeld laat zien hoe u de optie IN= in de praktijk kunt gebruiken.
Voorbeeld: hoe u de optie IN= in SAS gebruikt
Stel dat we twee datasets hebben met informatie over basketbalspelers op de oostelijke en westerse conferenties van de 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;
We kunnen de volgende syntaxis gebruiken om een nieuwe dataset te maken die deze twee datasets toevoegt:
/*create new dataset*/
data all_data;
set east_data west_data;
run ;
/*view new dataset*/
proc print data =all_data;
Houd er rekening mee dat elke rij in elke gegevensset tot de nieuwe gegevensset behoort.
Om erachter te komen uit welke dataset elke rij afkomstig is, kunnen we de optie IN= als volgt gebruiken:
/*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;
Met behulp van de IN= optie kunnen we een nieuwe kolom maken met de naam conf die de waarde „East“ heeft als de rij afkomstig is uit de dataset genaamd east_data en de waarde „West“ als de rij afkomstig is van de dataset genaamd east_data. gegevens genaamd ouest_data .
Merk op dat we ook alleen een IF- instructie kunnen gebruiken zonder een ELSE- instructie om een nieuwe kolom te maken die eenvoudigweg de waarde * aanneemt als de rij afkomstig is uit de dataset met de naam east_data :
/*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;
Met behulp van de optie IN= kunnen we een nieuwe kolom maken met de naam east_conf die de waarde * aanneemt als de rij afkomstig is uit de dataset met de naam east_data en geen waarde als de rij afkomstig is van de dataset met de naam west_data .
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:
Hoe u de NOT EQUAL-operator in SAS gebruikt
Hoe u een “NOT IN”-operator in SAS gebruikt
Hoe samen te voegen als A niet B in SAS is