Jak używać select-when w sas-ie (z przykładem)
Za pomocą instrukcji SELECT-WHEN w SAS-ie możesz przypisać wartości do nowej zmiennej na podstawie wartości istniejącej zmiennej kategorycznej w zbiorze danych.
W tej instrukcji zastosowano następującą podstawową składnię:
data new_data;
set my_data;
select (Existing_Column);
when ('value1') New_Column= 1 ;
when ('value2') New_Column= 2 ;
when ('value3') New_Column= 3 ;
otherwise New_Column= 4 ;
end ;
run ;
Ta składnia tworzy nową kolumnę o nazwie New_Column , której wartości zależą od wartości Existing_Column .
Poniższy przykład pokazuje, jak w praktyce używać instrukcji SELECT-WHEN .
Przykład: SELECT-WHEN w SAS-ie
Załóżmy, że mamy następujący zbiór danych w SAS-ie, który zawiera informacje o różnych koszykarzach:
/*create dataset*/
data my_data;
input team $rating $points;
datalines ;
Mavs Great 22
Mavs Good 29
Mavs OK 15
Mavs Bad 8
Spurs Good 30
Spurs OK 15
Spurs OK 20
Spurs Bad 7
;
run ;
/*view dataset*/
proc print data =my_data;
Za pomocą poniższej instrukcji SELECT-WHEN możemy utworzyć nową zmienną o nazwie Player_Status , której wartości zależą od wartości w kolumnie oceny :
/*create new dataset with Player_Status column*/ data new_data; set my_data; select (rating); when ('Great') Player_Status= 1 ; when ('Good') Player_Status= 2 ; when ('OK') Player_Status= 3 ; otherwise Player_Status= 4 ; end ; run ; /*view new dataset*/ proc print data = new_data;
Oto jak zostały wygenerowane wartości w nowej kolumnie Player_Status :
- Jeśli ocena była „Doskonała”, wówczas Player_Status otrzymał 1 .
- Jeśli ocena była „Dobra”, wówczas Player_Status został przypisany do 2 .
- Jeśli ocena była „OK”, wówczas przypisano Player_Status 3 .
- Jeżeli ocena nie była równa żadnej z wcześniej określonych wartości, wówczas przypisywany był Player_Status 4 .
Uwaga : Pełną dokumentację instrukcji SELECT w SAS-ie znajdziesz tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w SAS-ie:
Kompletny przewodnik po pętlach DO w SAS-ie
Jak używać JEŻELI-TO-ZROBIĆ w SAS-ie