Gegevens subsetten in sas (3 voorbeelden)
Hier volgen de drie meest voorkomende manieren om een gegevensset in SAS onder te verdelen:
Methode 1: Kies welke kolommen u wilt behouden
data new_data;
set original_data;
keep var1 var3;
run ;
Methode 2: Kies welke kolommen u wilt verwijderen
data new_data;
set original_data;
dropvar4 ;
run ;
Methode 3: Kies welke rijen u wilt behouden op basis van de voorwaarde
data new_data;
set original_data;
if var1 < 25 then delete;
run ;
De volgende voorbeelden laten zien hoe u elke methode kunt gebruiken met de volgende gegevensset in SAS:
/*create dataset*/
data original_data;
input team $pointsrebounds;
datalines ;
Warriors 25 8
Wizards 18 12
Rockets 22 6
Celtics 24 11
Thunder 27 14
Spurs 33 19
Nets 31 20
;
run ;
/*view dataset*/
proc print data = original_data;
Voorbeeld 1: Kies welke kolommen u wilt behouden
De volgende code laat zien hoe u een gegevensset kunt subsetten met behulp van de KEEP- instructie om alleen bepaalde kolommen te behouden:
/*create new dataset*/
data new_data;
set original_data;
keep team points;
run ;
/*view new dataset*/
proc print data = new_data;
Voorbeeld 2: Kies de kolommen die u wilt verwijderen
De volgende code laat zien hoe u een gegevensset kunt subsetten met behulp van de DROP- instructie om specifieke kolommen te verwijderen:
/*create new dataset*/
data new_data;
set original_data;
drop points;
run ;
/*view new dataset*/
proc print data = new_data;
Voorbeeld 3: Kies welke rijen u wilt behouden op basis van de voorwaarde
De volgende code laat zien hoe u een gegevensset kunt subsetten met behulp van de DELETE- instructie om specifieke rijen uit de gegevensset te verwijderen waarvan de waarde in de puntkolom kleiner is dan 25:
/*create new dataset*/
data new_data;
set original_data;
if points < 25 then delete;
run ;
/*view new dataset*/
proc print data = new_data;
U kunt ook de OR “ | gebruiken ” om lijnen te verwijderen waar de punten minder dan 25 zijn of de rebounds minder dan 10:
/*create new dataset*/
data new_data;
set original_data;
if points < 25 | rebounds < 10 then delete;
run ;
/*view new dataset*/
proc print data = new_data;
U kunt ook de operator AND “ & “ gebruiken om lijnen te verwijderen waarbij de punten minder dan 25 zijn en de bounces minder dan 10:
/*create new dataset*/
data new_data;
set original_data;
if points < 25 & rebounds < 10 then delete;
run ;
/*view new dataset*/
proc print data = new_data;
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:
Variabelen hernoemen in SAS
Nieuwe variabelen maken in SAS
Hoe tekens in een string in SAS te vervangen