Konwersja między zmiennymi numerycznymi i znakowymi¶

Konwersja między zmiennymi numerycznymi i znakowymi jest jednym z najczęściej występujących problemów podczas przetwarzania zbiorów danych. W tym artykule wyjaśniono, jak wykonać tę konwersję poprawnie i skutecznie.

Liczba na znak¶

Załóżmy, że istnieje importowany zestaw danych o nazwie filings, gdzie cik jest przechowywana jako zmienna numeryczna, jak pokazano poniżej:

cik file_type Data
1000229 8-K 2011-09-30
100591 8-K 2006-05-11
100826 8-K 2009-06-30
93542 8-K 2007-01-25

ponieważ cik ma różne cyfry, aby przekonwertować liczbę cik na zmienną znakową, naturalną procedurą jest umieszczenie jej zerami wiodącymi. Na przykład, cik (Centralny klucz indeksowy) sam jest 10-cyfrową liczbą używaną przez SEC.

w SAS, konwersja zmiennej numerycznej na ciąg z wiodącymi zerami (zakładając 10-cyfrową stałą długość) odbywa się za pomocą funkcji PUT() :

123
data filings(drop=cik); set filings; cik_char = put(cik, z10.); run;

Wskazówka

PUT()funkcja działa również w PROC SQL.

wygenerowana zmienna cik_char ma format i informat ., a zbiór danych staje się:

cik_char file_type Data
0001000229 8-K 2011-09-30
0000100591 8-K 2006-05-11
0000100826 8-K 2009-06-30
0000093542 8-K 2007-01-25

w STATA, konwersja zmiennej numerycznej na ciąg znaków z zerami wiodącymi (przy założeniu 6-cyfrowej stałej długości) może być osiągnięta za pomocą funkcji string().

1
gen char_var = string(num_var,"%06.0f")

znak Na numeryczny¶

w SAS, konwersja zmiennej znakowej na numeryczną wykorzystuje funkcję INPUT() :

1
var_numeric = input(var_char, best12.);

w STATA konwersję tę można wykonać za pomocą funkcji real() lub polecenia destring.

1
gen num_var = real(char_var);

funkcja real() działa na jednej zmiennej. destring polecenie może konwertować wszystkie zmienne znakowe na liczbowe za jednym zamachem.

1
destring, repalce

Ostrzeżenie

jeśli zmienna znakowa ma w sobie znaki nieliczbowe, to nie zostanie przekonwertowana. W takim przypadku możesz użyć polecenia encode, chociaż w rzeczywistości generuje ono kategorie.

bardziej szczegółowe wyjaśnienie z przykładami dostępne jest pod adresem stats.idre.ucla.edu

Ostatnia aktualizacja: 22 maja 2020 r

You might also like

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.