converteren tussen numerieke en karaktervariabelen is een van de meest voorkomende problemen bij het verwerken van datasets. In dit artikel wordt uitgelegd hoe u deze conversie correct en efficiënt kunt uitvoeren.
numeriek naar Teken¶
stel dat er een geïmporteerde dataset met de naam filings
is, waarin cik
is opgeslagen als een numerieke variabele zoals hieronder getoond:
cik | file_type | date |
---|---|---|
1000229 | 8-K | 2011-09-30 |
100591 | 8-K | 2006-05-11 |
100826 | 8-K | 2009-06-30 |
93542 | 8-K | 2007-01-25 |
Omdat cik
is van verschillende cijfers, om te zetten in de numerieke cik
in een character variabele, de natuurlijke procedure is op pad met voorloopnullen. Bijvoorbeeld, cik
(Centrale Index-Toets) zelf is een 10-cijferige nummer dat wordt gebruikt door de SEC.
In SAS, zetten numerieke variabele string met voorloopnullen (uitgaande van 10-cijferige vaste lengte) via PUT()
functie:
123 |
|
Tip
PUT()
functie werkt ook in PROC SQL
.
de gegenereerde cik_char
variabele is van formaat en informatie .
, en de dataset wordt:
cik_char | file_type | date |
---|---|---|
0001000229 | 8-K | 2011-09-30 |
0000100591 | 8-K | 2006-05-11 |
0000100826 | 8-K | 2009-06-30 |
0000093542 | 8-K | 2007-01-25 |
In staten bestaan, zetten numerieke variabele string met voorloopnullen (uitgaande van een 6-cijferige vaste lengte) kunnen worden bereikt via de string()
functie.
1 |
|
Teken Numeriek¶
In SAS, het omzetten van een variabele karakter van een numerieke gebruikt men het INPUT()
functie:
1 |
|
In staten bestaan, deze omzetting kan worden gedaan via real()
functie of destring
commando.
1 |
|
de functie real()
werkt op één variabele. Het commando destring
kan alle karaktervariabelen in één keer in numeriek omzetten.
1 |
|
waarschuwing
als een karaktervariabele niet-numerieke tekens bevat, wordt deze niet geconverteerd. In zo ‘ n geval kunt u ervoor kiezen om het encode
commando te gebruiken, hoewel het in feite categorieën genereert.
een meer gedetailleerde uitleg met voorbeelden is beschikbaar op stats.idre.ucla.edu