converter entre variáveis numéricas e de caracteres é uma das questões mais frequentemente encontradas ao processar conjuntos de dados. Este artigo explica como fazer essa conversão de forma correta e eficiente.
numérico para caracteres
assumir que existe um conjunto de dados importado chamado filings
, onde cik
é armazenado como uma variável numérica como mostrado abaixo:
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 |
Porque cik
é de dígitos diferentes, para converter o valor numérico cik
em uma variável de caracteres, o natural é o procedimento para preencher com zeros à esquerda. Por exemplo, cik
(Central de Chave de Índice) em si é um número de 10 dígitos usado pela SEC.
No SAS, converter numérico, variável de seqüência de caracteres com zeros à esquerda (supondo que 10 dígitos de comprimento fixo) é feito via PUT()
função:
123 |
|
Dica
PUT()
função também funciona em PROC SQL
.
a variável gerada cik_char
é de formato e informação .
, e o conjunto de dados torna-se:
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 |
STATA, converter numérico, variável de seqüência de caracteres com zeros à esquerda (partindo do princípio de 6 dígitos de comprimento fixo) pode ser alcançado através de string()
função.
1 |
|
Caracteres Numéricos¶
No SAS, a conversão de uma variável de caracteres numéricos ou usa o INPUT()
função:
1 |
|
STATA, esta conversão ser pode ser feito via real()
função ou destring
comando.
1 |
|
O real()
funciona em uma única variável. destring
o comando pode converter todas as variáveis de caracteres em numérico de uma só vez.
1 |
|
Aviso
Se uma variável de caracteres não-numéricos caracteres, então ele não vai ser convertido. Nesse caso, você pode optar por usar o comando encode
, embora de fato esteja gerando categorias.
Uma explicação mais detalhada, com exemplos, está disponível em stats.idre.ucla.edu