Como criar códigos numéricos para identificar empresas em um painel de dados - Blog ContabilidadeMQ

Blog ContabilidadeMQ

Blog ContabilidadeMQ

sexta-feira, 22 de janeiro de 2016

Como criar códigos numéricos para identificar empresas em um painel de dados

Não sei vocês, mas eu não sou dos pesquisadores mais organizados, então quando esqueço de fazer alguma coisa no início do tratamento dos meus dados... quando eu preciso daquela coisa que esqueci, tenho o maior trabalho para ajeitar.

Estou agora analisando os dados da minha tese no Stata. O Stata só identifica os indivíduos (id) no painel, se o código for numérico. Ele não identifica strings

Eu esqueci de fazer isso e mexi na minha base de dados toda. O painel é desbalanceado. Quem já trabalhou com dados em painel deve estar entendendo o trabalho que eu terei para ajustar isso, criando códigos numéricos para cada empresa.

Sendo assim, eu pensei em usar alguma solução não braçal no Excel para resolver meu problema. Encontrei algo que me deu uma ideia, ajustei e cheguei à solução abaixo. Para eu não esquecer disso, bem como poder ajudar alguém que tenha o mesmo problema, resolvi compartilhar por aqui.

Provavelmente deve existir uma forma mais fácil e até deve ser possível fazer isso no próprio Stata. Quem tiver outras ideias, peço que compartilhe conosco!

O script é o seguinte (veja como usar, em um exemplo, no link que coloquei acima):

'Substituir os tickers das empresas por um código numérico quando eu esquecer de fazer isso antes de empilhar os dados
Public Sub ConvertStringGrau()
Dim cell As Range
    
    'Itera pelo range
    For Each cell In Selection
        
        'Remove os espaços vazios
        cell.Value = Replace(cell.Value, " ", "")
        
        'Substituir as letras por números
        cell.Value = Replace(cell.Value, "A", "1")
        cell.Value = Replace(cell.Value, "B", "2")
        cell.Value = Replace(cell.Value, "C", "3")
        cell.Value = Replace(cell.Value, "D", "4")
        cell.Value = Replace(cell.Value, "E", "5")
        cell.Value = Replace(cell.Value, "F", "6")
        cell.Value = Replace(cell.Value, "G", "7")
        cell.Value = Replace(cell.Value, "H", "8")
        cell.Value = Replace(cell.Value, "I", "9")
        cell.Value = Replace(cell.Value, "J", "10")
        cell.Value = Replace(cell.Value, "K", "11")
        cell.Value = Replace(cell.Value, "L", "12")
        cell.Value = Replace(cell.Value, "M", "13")
        cell.Value = Replace(cell.Value, "N", "14")
        cell.Value = Replace(cell.Value, "O", "15")
        cell.Value = Replace(cell.Value, "P", "16")
        cell.Value = Replace(cell.Value, "Q", "17")
        cell.Value = Replace(cell.Value, "R", "18")
        cell.Value = Replace(cell.Value, "S", "19")
        cell.Value = Replace(cell.Value, "T", "20")
        cell.Value = Replace(cell.Value, "U", "21")
        cell.Value = Replace(cell.Value, "V", "22")
        cell.Value = Replace(cell.Value, "W", "23")
        cell.Value = Replace(cell.Value, "X", "24")
        cell.Value = Replace(cell.Value, "Y", "25")
        cell.Value = Replace(cell.Value, "Z", "26")
        
        
    Next cell
            
        
End Sub

Nenhum comentário:

Postar um comentário