Převod mezi číselnými a charakter proměnných je jedním z nejčastěji se vyskytujících problémů při zpracování souborů údajů. Tento článek vysvětluje, jak tuto konverzi provést správně a efektivně.
Číselný Znak¶
Předpokládat, že je importovaný datový soubor jménem filings
, kde cik
je uložen jako číselné proměnné, jak je uvedeno níže:
cik | file_type | datum |
---|---|---|
1000229 | 8-K | 2011-09-30 |
100591 | 8-K | 2006-05-11 |
100826 | 8-K | 2009-06-30 |
93542 | 8-K | 2007-01-25 |
Protože cik
je z různých číslic, převést číselné cik
charakter proměnné, přírodní postup je podložka s úvodní nuly. Například, cik
(Centrální Index Klíč) sám o sobě je 10-místné číslo, které se používá u SEC.
V SAS, převést číselné proměnné na řetězec s úvodní nuly (za předpokladu, že 10-místné pevné délky) se provádí pomocí PUT()
funkce:
123 |
|
Tip
PUT()
funkce funguje také v PROC SQL
.
generovaná proměnná cik_char
má formát a informat .
a datová sada se stává:
cik_char | file_type | datum |
---|---|---|
0001000229 | 8-K | 2011-09-30 |
0000100591 | 8-K | 2006-05-11 |
0000100826 | 8-K | 2009-06-30 |
0000093542 | 8-K | 2007-01-25 |
V STATA, převést číselné proměnné na řetězec s úvodní nuly (za předpokladu, 6-místný pevné délky) může být dosaženo prostřednictvím string()
funkce.
1 |
|
Znak Číselné¶
V SAS, konverze znak, proměnná číselné jeden používá INPUT()
funkce:
1 |
|
V STATA, tato konverze může být provedeno buď přes real()
funkce nebo destring
příkaz.
1 |
|
real()
funkce funguje na jedné jediné proměnné. destring
příkaz může převést všechny znakové proměnné na číselné najednou.
1 |
|
Varování
Pokud postava proměnná má non-číselné znaky v něm, pak to nebude převeden. V takovém případě se můžete rozhodnout použít příkaz encode
, i když ve skutečnosti generuje Kategorie.
více podrobné vysvětlení s příklady je k dispozici na stats.idre.ucla.edu