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