Jak korzystać z funkcji compress w sas-ie (z przykładami)
Możesz użyć funkcji COMPRESS w SAS-ie, aby usunąć określone znaki z ciągu.
Ta funkcja wykorzystuje następującą podstawową składnię:
COMPRESS(Ciąg, znaki do usunięcia)
Złoto:
- String : ciąg do analizy
- znaki do usunięcia : Jeden lub więcej określonych znaków do usunięcia z ciągu
Oto cztery najczęstsze sposoby korzystania z tej funkcji:
Metoda 1: Usuń wszystkie puste spacje z ciągu
data new_data;
set original_data;
compressed_string = compress (string_variable);
run ;
Metoda 2: Usuń określone znaki z ciągu
data new_data;
set original_data;
compressed_string = compress (string_variable, ' !?@# ');
run ;
Metoda 3: Usuń wszystkie znaki alfabetu z ciągu
data new_data;
set original_data;
compressed_string = compress (string_variable, '', ' a ');
run ;
Metoda 4: Usuń wszystkie wartości numeryczne z ciągu
data new_data;
set original_data;
compressed_string = compress (string_variable, '', ' d ');
run ;
Poniższe przykłady pokazują, jak używać każdej metody z następującym zbiorem danych w SAS-owym:
/*create dataset*/
data original_data;
input name $25.;
datalines ;
Andy Lincoln4 Bernard!
Barren Michael55 Smith!
Chad Simpson7 Arnolds?
Derrick Parson2 Henry
Eric Miller2 Johansen!
Frank Giovanni5 Goode
;
run ;
/*view dataset*/
proc print data = original_data;
Przykład 1: Usuń wszystkie spacje z ciągu
Poniższy kod pokazuje, jak usunąć wszystkie spacje z każdego ciągu w kolumnie nazwy :
/*remove blank spaces from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name);
run ;
/*view results*/
proc print data =new_data;
Należy pamiętać, że z każdego ciągu znaków w nowej kolumnie o nazwie nazwa_tabletu usunięto wszystkie spacje.
Przykład 2: Usuń określone znaki z ciągu
Poniższy kod pokazuje, jak usunąć wszystkie znaki zapytania i wykrzykniki z każdego ciągu w kolumnie nazwa :
/*remove question marks and exclamation points from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name, ' ?! ');
run ;
/*view results*/
proc print data =new_data;
Należy pamiętać, że wszystkie znaki zapytania i wykrzykniki zostały usunięte z każdego ciągu znaków w nowej kolumnie o nazwie nazwa_tabletu .
Przykład 3: Usuń wszystkie znaki alfabetu z ciągu
Poniższy kod pokazuje, jak usunąć wszystkie znaki alfabetu z każdego ciągu w kolumnie nazwy :
/*remove all alphabetical characters from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name, '', ' a ');
run ;
/*view results*/
proc print data = new_data;
Należy pamiętać, że z każdego ciągu znaków w nowej kolumnie o nazwie nazwa_tabletu usunięto wszystkie znaki alfabetu.
Przykład 4: Usuń wszystkie wartości numeryczne z ciągu
Poniższy kod pokazuje, jak usunąć wszystkie wartości liczbowe z każdego ciągu znaków w kolumnie nazwa :
/*remove all numeric values from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name, '', ' d ');
run ;
/*view results*/
proc print data =new_data;
Należy pamiętać, że z każdego ciągu znaków w nowej kolumnie o nazwie nazwa_tabletu usunięte zostały wszystkie wartości liczbowe.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w SAS-ie:
Jak korzystać z funkcji SUBSTR w SAS-ie
Jak korzystać z funkcji ZNAJDŹ w SAS-ie
Jak korzystać z funkcji COALESCE w SAS-ie