Sas: filtruj wiersze zawierające ciąg
Do filtrowania zbiorów danych SAS-owych pod kątem wierszy zawierających określone ciągi możesz użyć następujących metod:
Metoda 1: Filtruj wiersze zawierające określony ciąg
/*filter rows where var1 contains "string1"*/
data specific_data;
set original_data;
where var1 contains ' string1 ';
run ;
Metoda 2: Przefiltruj wiersz zawierający jeden ciąg spośród kilku
/*filter rows where var1 contains "string1", "string2", or "string3"*/
data specific_data;
set original_data;
where var1 in (' string1 ', ' string2 ', ' string3 ');
run ;
Poniższe przykłady pokazują, jak używać każdej metody z następującym zbiorem danych w SAS-owym:
/*create dataset*/
data nba_data;
input team $points;
datalines ;
Mavs 95
Spurs 99
Warriors 104
Rockets 98
Heat 95
Nets 90
Magic 99
Cavs 106
;
run ;
/*view dataset*/
proc print data =nba_data;
Metoda 1: Filtruj wiersze zawierające określony ciąg
Poniższy kod pokazuje, jak filtrować zbiór danych pod kątem wierszy zawierających ciąg „avs” w kolumnie zespołu :
/*filter rows where team contains the string 'avs'*/ data specific_data; set nba_data; where team contains ' avs '; run ; /*view resulting rows*/ proc print data = specific_data;
Jedyne dwie pokazane linie to miejsca, w których kolumna zespołu zawiera „avs” w nazwie.
Metoda 2: Filtruj wiersze zawierające jeden z kilku ciągów
Poniższy kod pokazuje, jak filtrować zbiór danych pod kątem wierszy zawierających ciągi „Mavs”, „Nets” lub „Rockets” w kolumnie zespołu :
/*filter rows where team contains the string 'Mavs', 'Nets', or 'Rockets'*/ data specific_data; set nba_data; where team in (' Mavs ', ' Nets ', ' Rockets '); run ; /*view resulting rows*/ proc print data = specific_data;
Wynikowy zestaw danych wyświetla tylko wiersze, w których kolumna zespołu zawiera jeden z trzech określonych przez nas ciągów.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w SAS-ie:
Jak normalizować dane w SAS-ie
Jak zmienić nazwy zmiennych w SAS-ie
Jak usunąć duplikaty w SAS-ie
Jak zastąpić brakujące wartości zerem w SAS-ie