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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *