Sas: różnica między put i input


Możesz używać funkcji PUT i INPUT w SAS-ie, aby konwertować zmienne na różne typy danych.

Oto różnica między tymi dwiema funkcjami:

Funkcja PUT przyjmuje jako dane wejściowe zmienne znakowe lub numeryczne i zawsze wyprowadza zmienne znakowe .

Funkcja INPUT przyjmuje jako dane wejściowe wyłącznie zmienne znakowe i może wyprowadzać zmienne znakowe lub numeryczne .

Poniższe przykłady pokazują dwa typowe sposoby wykorzystania w praktyce funkcji PUT i INPUT .

Przykład 1: Użycie PUT do konwersji zmiennej numerycznej na zmienną znakową

Załóżmy, że mamy następujący zestaw danych w SAS-ie, który pokazuje całkowitą sprzedaż zrealizowaną przez sklep przez 10 kolejnych dni:

 /*create dataset*/
data original_data;
    input day sales;
    datalines ;
1 7
2 12
3 15
4 14
5 13
6 11
7 10
8 16
9 18
10 24
;
run ;

/*view dataset*/
proc print data = original_data;

Możemy wykorzystać zawartość procedury do wyświetlenia typu danych każdej zmiennej w zbiorze danych:

 /*display data type for each variable*/
proc contents data =original_data;

Widzimy, że dzień i sprzedaż są zmiennymi numerycznymi.

Możemy użyć funkcji PUT , aby przekonwertować zmienną dnia z liczbowej na znakową:

 /*create new dataset where 'day' is character*/
data new_data;
    set original_data;
    char_day = put (day, 8.);
    drop day;
run ;

/*view new dataset*/
proc print data =new_data; 

Możemy ponownie użyć zawartości proc , aby sprawdzić typ danych każdej zmiennej w nowym zbiorze danych:

 /*display data type for each variable in new dataset*/
proc contents data =new_data; 

Z powodzeniem użyliśmy funkcji PUT do konwersji zmiennej dnia z numerycznej na nową zmienną znakową o nazwie char_day .

Przykład 2: Użycie INPUT do konwersji zmiennej znakowej na zmienną numeryczną

Załóżmy, że mamy następujący zestaw danych w SAS-ie, który pokazuje całkowitą sprzedaż zrealizowaną przez sklep przez 10 kolejnych dni:

 /*create dataset*/
data original_data;
    input day $sales;
    datalines ;
1 7
2 12
3 15
4 14
5 13
6 11
7 10
8 16
9 18
10 24
;
run ;

/*view dataset*/
proc print data = original_data;

Możemy wykorzystać zawartość procedury do wyświetlenia typu danych każdej zmiennej w zbiorze danych:

 /*display data type for each variable*/
proc contents data =original_data;

Widzimy, że dzień jest zmienną znakową, a sprzedaż jest zmienną numeryczną.

Możemy użyć funkcji INPUT , aby przekonwertować zmienną dnia ze znaku na numer:

 /*create new dataset where 'day' is numeric*/
data new_data;
    set original_data;
    numeric_day = input (day, comma9.);
    drop day;
run ;

/*view new dataset*/
proc print data =new_data; 

Możemy ponownie użyć zawartości proc , aby sprawdzić typ danych każdej zmiennej w nowym zbiorze danych:

 /*display data type for each variable in new dataset*/
proc contents data = new_data; 

Z powodzeniem użyliśmy funkcji INPUT do konwersji zmiennej dnia ze zmiennej znakowej na nową zmienną numeryczną o nazwie numeric_day .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w SAS-ie:

SAS: Jak przekonwertować zmienną znakową na numeryczną
SAS: Jak przekonwertować zmienną numeryczną na znak
SAS: Jak przekonwertować zmienną znakową na datę
SAS: Jak przekonwertować zmienną numeryczną na datę

Dodaj komentarz

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