numeeristen ja merkkimuuttujien välinen muuntaminen on yksi useimmin kohdatuista ongelmista aineistoja käsiteltäessä. Tässä artikkelissa kerrotaan, miten tämä muuntaminen oikein ja tehokkaasti.
numeerinen merkiksi¶
Oletetaan, että on tuotu tietojoukko nimeltä filings
, jossa cik
on tallennettu numeerisena muuttujana kuten alla on esitetty:
cik | file_type | pvm |
---|---|---|
1000229 | 8-K | 2011-09-30 |
100591 | 8-K | 2006-05-11 |
100826 | 8-K | 2009-06-30 |
93542 | 8-K | 2007-01-25 |
koska cik
on eri numeroinen, jotta numeerinen cik
voidaan muuntaa merkkimuuttujaksi, luonnollinen menettely on padota se johtavilla nollilla. Esimerkiksi cik
(Central Index Key) itsessään on SEC: n käyttämä 10-numeroinen luku.
SAS: ssä numeerinen muuttuja muunnetaan merkkijonoksi, jossa on johtavat nollat (olettaen, että 10-numeroinen kiinteä pituus) tehdään PUT()
funktion kautta:
123 |
|
kärki
PUT()
funktio toimii myös PROC SQL
.
luotu cik_char
muuttuja on muotoa ja tietoa .
, ja tietokokonaisuudesta tulee:
cik_char | file_type | pvm |
---|---|---|
0001000229 | 8-K | 2011-09-30 |
0000100591 | 8-K | 2006-05-11 |
0000100826 | 8-K | 2009-06-30 |
0000093542 | 8-K | 2007-01-25 |
STATASSA numeerinen muuttuja voidaan muuntaa merkkijonoksi, jossa on johtavat nollat (olettaen 6-numeroisen kiinteän pituuden) string()
funktion avulla.
1 |
|
merkistä numeeriseksi¶
SAS-järjestelmässä merkkimuuttujan muuntaminen numeeriseksi käyttää INPUT()
funktiota:
1 |
|
STATASSA tämä muunnos voidaan tehdä joko real()
funktion tai destring
komennon kautta.
1 |
|
funktio real()
toimii yhdellä muuttujalla. destring
komento voi muuntaa kaikki merkkimuuttujat numeerisiksi yhdellä kertaa.
1 |
|
Varoitus
jos merkkimuuttujassa on ei-numeerisia merkkejä, sitä ei muunneta. Tällöin voit käyttää komentoa encode
, vaikka se itse asiassa luo luokkia.
tarkempi selvitys esimerkein on saatavilla osoitteessa stats.idre.ucla.edu