Jak wyodrębnić liczby z ciągu w sas-ie
Najłatwiejszym sposobem wyodrębnienia liczb z ciągu znaków w SAS-ie jest użycie funkcji COMPRESS z modyfikatorem „A”.
Ta funkcja wykorzystuje następującą podstawową składnię:
data new_data;
set original_data;
numbers_only = compress(some_string, '', ' A ');
run ;
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: Wyodrębnij liczby z ciągu znaków w SAS-ie
Załóżmy, że mamy następujący zbiór danych w SAS-ie, który pokazuje nazwy różnych kierunków uniwersyteckich:
/*create dataset*/
data original_data;
input course $12.;
datalines ;
Stats101
Economics203
Business201
Botany411
Calculus101
English201
Chemistry402
Physics102
;
run ;
/*view dataset*/
proc print data = original_data;

Możemy użyć poniższego kodu, aby wyodrębnić same liczby z nazwy każdego kursu:
/*extract numbers from course column*/
data new_data;
set original_data;
course_number_only = compress (course, '', ' A ');
run ;
/*view results*/
proc print data = new_data;

Zauważ, że nowa kolumna o nazwie tylko_numer_kursu zawiera tylko liczby z ciągów znaków w kolumnie kursu .
Jeśli zamiast tego chcesz wyodrębnić tylko znaki z każdego ciągu, możesz użyć funkcji COMPRESS z modyfikatorem „d”:
/*extract characters from course column*/
data new_data;
set original_data;
course_characters_only = compress (course, '', ' d ');
run ;
/*view results*/
proc print data = new_data;

Zauważ, że nowa kolumna o nazwie tylko_znaki_kursu zawiera tylko liczby z ciągów znaków w kolumnie kursu .
Uwaga : Pełną listę modyfikatorów funkcji COMPRESS można znaleźć na tej stronie dokumentacji SAS-a .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w SAS-ie:
Jak normalizować dane w SAS-ie
Jak zidentyfikować wartości odstające w SAS
Jak tworzyć tabele częstości w SAS-ie