Sas: der unterschied zwischen put und input
Sie können die Funktionen PUT und INPUT in SAS verwenden, um Variablen in verschiedene Datentypen zu konvertieren.
Hier ist der Unterschied zwischen den beiden Funktionen:
Die PUT- Funktion verwendet Zeichen- oder numerische Variablen als Eingabe und gibt immer Zeichenvariablen aus .
Die INPUT- Funktion akzeptiert nur Zeichenvariablen als Eingabe und kann Zeichen- oder numerische Variablen ausgeben .
Die folgenden Beispiele zeigen zwei gängige Möglichkeiten, die Funktionen PUT und INPUT in der Praxis zu verwenden.
Beispiel 1: Verwenden von PUT zum Konvertieren einer numerischen Variablen in eine Zeichenvariable
Nehmen wir an, wir haben den folgenden Datensatz in SAS, der die Gesamtverkäufe eines Geschäfts an 10 aufeinanderfolgenden Tagen zeigt:
/*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;
Wir können den Inhalt der Prozedur verwenden, um den Datentyp jeder Variablen im Datensatz anzuzeigen:
/*display data type for each variable*/
proc contents data =original_data;
Wir können sehen, dass sowohl Tag als auch Umsatz numerische Variablen sind.
Wir können die PUT- Funktion verwenden, um die Tagesvariable von numerisch in Zeichen umzuwandeln:
/*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;
Wir können erneut den Inhalt von proc verwenden, um den Datentyp jeder Variablen im neuen Datensatz zu überprüfen:
/*display data type for each variable in new dataset*/
proc contents data =new_data;
Wir haben die PUT- Funktion erfolgreich verwendet, um die Tagesvariable von numerisch in eine neue Zeichenvariable namens char_day umzuwandeln.
Beispiel 2: Verwendung von INPUT zum Konvertieren einer Zeichenvariablen in eine numerische Variable
Nehmen wir an, wir haben den folgenden Datensatz in SAS, der die Gesamtverkäufe eines Geschäfts an 10 aufeinanderfolgenden Tagen zeigt:
/*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;
Wir können den Inhalt der Prozedur verwenden, um den Datentyp jeder Variablen im Datensatz anzuzeigen:
/*display data type for each variable*/
proc contents data =original_data;
Wir können sehen, dass „Tag“ eine Zeichenvariable und „Umsatz“ eine numerische Variable ist.
Wir können die INPUT- Funktion verwenden, um die Tagesvariable von einem Zeichen in eine numerische Variable umzuwandeln:
/*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;
Wir können erneut den Inhalt von proc verwenden, um den Datentyp jeder Variablen im neuen Datensatz zu überprüfen:
/*display data type for each variable in new dataset*/
proc contents data = new_data;
Wir haben die INPUT- Funktion erfolgreich verwendet, um die Tagesvariable von einer Zeichenvariablen in eine neue numerische Variable namens numeric_day zu konvertieren.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in SAS ausführen:
SAS: So konvertieren Sie eine Zeichenvariable in eine numerische Variable
SAS: So konvertieren Sie eine numerische Variable in ein Zeichen
SAS: So konvertieren Sie eine Zeichenvariable in ein Datum
SAS: So konvertieren Sie eine numerische Variable in ein Datum