Jak usunąć zera wiodące w sas (z przykładami)
Najłatwiejszym sposobem usunięcia zer wiodących ze zmiennej znakowej w SAS-ie jest użycie funkcji INPUT do konwersji zmiennej na zmienną numeryczną, która automatycznie usuwa zera wiodące.
Ta funkcja wykorzystuje następującą podstawową składnię:
data new_data;
set original_data;
no_zeros = input(some_column, comma9. );
run ;
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: Usuń zera wiodące w SAS-ie
Załóżmy, że mamy następujący zestaw danych w SAS-ie, który pokazuje całkowitą sprzedaż zrealizowaną przez różne sklepy detaliczne:
/*create dataset*/
data original_data;
inputstore $sales$;
datalines ;
A 055
B145
C 199
D 0000443
E 0093
F 00004302
G 38
H 0055
;
run ;
/*view dataset*/
proc print data = original_data;
Możemy użyć poniższego kodu, aby usunąć wszystkie zera wiodące z wartości kolumny sprzedaży :
/*remove leading zeros in sales column*/
data new_data;
set original_data;
no_zeros = input (sales, order9. );
run ;
/*view results*/
proc print data = new_data;
Należy pamiętać, że z wartości w kolumnie no_zeros usunięte zostały wszystkie zera wiodące.
Należy pamiętać, że nowa kolumna no_zeros jest kolumną numeryczną.
Jeśli zamiast tego chcesz zachować ją jako kolumnę znaków, możesz owinąć funkcję PUT wokół funkcji INPUT w następujący sposób:
/*remove leading zeros in sales column*/
data new_data;
set original_data;
no_zeros = put ( input (sales, order9. ), 8. );
run ;
/*view results*/
proc print data = new_data;
Jeśli użyjemy zawartości proc do wyświetlenia typu danych każdej zmiennej w zbiorze danych, zobaczymy, że no_zeros jest zmienną znakową:
/*view data type of each variable in new dataset*/
proc contents data =new_data;
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 korzystać ze podsumowania procedur w SAS-ie
Jak tworzyć tabele częstości w SAS-ie