Alphanumerisch in numerisch umwandeln
Verfasst von bezNika am 20 Juli, 2010 - 08:52
Hallo,
wie kann man einen aus einer csv-Datei eingelesenen Wert z.B. 563K in numerischen Wert umwandeln?
In der SAS-Datei müssen nur die ersten drei Stellen angezeigt werden, deshalb schneide ich die vierte Stelle ab, in dem ich einfach als informat $3. eingebe. Das Feld muss aber numerisch sein, und das klappt nicht.
Danke im Voraus!
»
- Anmelden oder Registrieren um Kommentare zu schreiben

Alphanumerisch in numerisch umwandeln
Hallo bezNika,
Du kannst mit dem Befehl input(variable, format) aus einem String einen numerischen Wert erzeugen. Die Verwendung eines Informats beim Einlesen der Daten funktioniert nicht, weil trotz informat 3. "563K" verarbeitet wird und dann, weil nicht numerisch, eine Fehlermeldung erzeugt und die Variable leer bleibt.
Gruß Guido
length text $12;
input text $;
cards;
563K
654k
002k
;
run;
data numerisch;
set text;
length numerisch 8;
numerisch = input(substr(text,1,3),3.);
run;
Zeichen numerisch einlesen
Ok, Klugschwätzeralarm...
input text 1-3 @4 suffix $;
cards;
563K
654k
002k
;
Gilt natürlich nur für die Daten wie hier angeordnet :-)...für das CSV Beispiel ist natürlich das von Armageddon genannte INPUT notwendig.
Danke!
Hallo Guido,
so klappt es! Vielen, vielen Dank noch mal!