Sas: het verschil tussen put en input
U kunt de functies PUT en INPUT in SAS gebruiken om variabelen naar verschillende gegevenstypen te converteren.
Hier is het verschil tussen de twee functies:
De PUT- functie neemt karakter- of numerieke variabelen als invoer en voert altijd karaktervariabelen uit .
De INPUT -functie neemt alleen karaktervariabelen als invoer en kan karakter- of numerieke variabelen uitvoeren .
De volgende voorbeelden laten twee veelgebruikte manieren zien om de functies PUT en INPUT in de praktijk te gebruiken.
Voorbeeld 1: PUT gebruiken om een numerieke variabele naar een tekenvariabele te converteren
Laten we zeggen dat we de volgende gegevensset in SAS hebben die de totale omzet van een winkel gedurende 10 opeenvolgende dagen weergeeft:
/*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;
We kunnen de inhoud van de procedure gebruiken om het gegevenstype van elke variabele in de dataset weer te geven:
/*display data type for each variable*/
proc contents data =original_data;
We kunnen zien dat dag en omzet beide numerieke variabelen zijn.
We kunnen de PUT- functie gebruiken om de dagvariabele van numeriek naar karakter te converteren:
/*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;
We kunnen opnieuw de inhoud van proc gebruiken om het gegevenstype van elke variabele in de nieuwe gegevensset te controleren:
/*display data type for each variable in new dataset*/
proc contents data =new_data;
We hebben met succes de PUT- functie gebruikt om de dagvariabele van numeriek naar een nieuwe tekenvariabele genaamd char_day te converteren.
Voorbeeld 2: INPUT gebruiken om een tekenvariabele naar een numerieke variabele te converteren
Laten we zeggen dat we de volgende gegevensset in SAS hebben die de totale omzet van een winkel gedurende 10 opeenvolgende dagen weergeeft:
/*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;
We kunnen de inhoud van de procedure gebruiken om het gegevenstype van elke variabele in de dataset weer te geven:
/*display data type for each variable*/
proc contents data =original_data;
We kunnen zien dat dag een karaktervariabele is en verkoop een numerieke variabele.
We kunnen de INPUT- functie gebruiken om de dagvariabele van karakter naar numeriek te converteren:
/*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;
We kunnen opnieuw de inhoud van proc gebruiken om het gegevenstype van elke variabele in de nieuwe gegevensset te controleren:
/*display data type for each variable in new dataset*/
proc contents data = new_data;
We hebben met succes de functie INPUT gebruikt om de dagvariabele te converteren van een tekenvariabele naar een nieuwe numerieke variabele genaamd numerieke_dag .
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:
SAS: Hoe een tekenvariabele naar numeriek te converteren
SAS: Hoe een numerieke variabele naar karakter te converteren
SAS: Hoe een tekenvariabele naar een datum te converteren
SAS: Hoe een numerieke variabele naar een datum te converteren