La conversion entre variables numériques et de caractères est l’un des problèmes les plus fréquemment rencontrés lors du traitement des ensembles de données. Cet article explique comment effectuer cette conversion correctement et efficacement.
Numeric to Character¶
Supposons qu’il existe un ensemble de données importé nommé filings
, où cik
est stocké en tant que variable numérique comme indiqué ci-dessous:
cik | type de fichier | date |
---|---|---|
1000229 | 8- D | 2011-09-30 |
100591 | 8- D | 2006-05-11 |
100826 | 8- D | 2009-06-30 |
93542 | 8- D | 2007-01-25 |
Étant donné que cik
a des chiffres différents, pour convertir le cik
numérique en une variable de caractères, la procédure naturelle consiste à le tamponner avec des zéros en tête. Par exemple, cik
(Clé d’index centrale) elle-même est un nombre à 10 chiffres utilisé par SEC.
Dans SAS, la conversion d’une variable numérique en chaîne avec des zéros en tête (en supposant une longueur fixe à 10 chiffres) se fait via la fonction PUT()
:
123 |
|
La fonction Tip
PUT()
fonctionne également dans PROC SQL
.
La variable cik_char
générée est de format et d’information .
, et l’ensemble de données devient:
cik_char | type de fichier | date |
---|---|---|
0001000229 | 8- D | 2011-09-30 |
0000100591 | 8- D | 2006-05-11 |
0000100826 | 8- D | 2009-06-30 |
0000093542 | 8- D | 2007-01-25 |
Dans STATA, la conversion d’une variable numérique en chaîne avec des zéros en tête (en supposant une longueur fixe à 6 chiffres) peut être réalisée via la fonction string()
.
1 |
|
Caractère en numérique¶
Dans SAS, la conversion d’une variable de caractère en numérique utilise la fonction INPUT()
:
1 |
|
Dans STATA, cette conversion peut être effectuée via la fonction real()
ou la commande destring
.
1 |
|
La fonction real()
fonctionne sur une seule variable. La commande destring
peut convertir toutes les variables de caractères en numérique en une seule fois.
1 |
|
Avertissement
Si une variable de caractères contient des caractères non numériques, elle ne sera pas convertie. Dans un tel cas, vous pouvez choisir d’utiliser la commande encode
, bien qu’elle génère en fait des catégories.
Une explication plus détaillée avec des exemples est disponible sur stats.idre.ucla.edu