---------- Mensagem encaminhada ----------
De:
Pedro Rafael <pedro.rafael.marinho@gmail.com>
Data: 29 de agosto de 2011 22:32
Assunto: Re: [R-br] RES: [Dúvida] Invocar funções C++ no R
Para:
r-br@listas.c3sl.ufpr.brNão se pode criar uma variável register em um programa C para posteriormente ser reconhecida no R?
Em 26 de agosto de 2011 21:58, Pedro Rafael
<pedro.rafael.marinho@gmail.com> escreveu:
Eu trabalho na Secretaria de Estado da Saúde da Paraíba. Tudo que eu faço no R dentro da academia dá certo sem a necessidade de recorrer a mais nenhum outro software ou linguagem estatística. As secretarias de saúde de todos estados não só da Paraíba precisam sempre calcular indicadores básicos de saúde (básicos mesmo). O ruim que são indicadores muito simples como a taxa de mortalidade infantil. Como o Brasil é um país que as estatísticas vitais apresenta deficiências, ou seja, sub-registros de informações bem como outros problemas a taxa de mortalidade infantil não é simplesmente a razão de óbitos de menores de 1 ano sobre o número de nascidos vivos. Contudo, eu sou de certa forma obrigado a fazer o cálculo simples pois o Ministério da Saúde só aceita os cálculos assim por meio de portarias. Tudo isso para dizer: MINHAS CONTAS SÃO SIMPLES. Todavia minhas bases de dados são são tão pequenas. Trabalho som Sistemas de Informação de Nascidos vivos - SINASC e o Sistema de Informação sobre Mortalidade - SIM. Criei várias funções no R para para cálculos de alguns indicadores como por exemplo: taxa de mortalidade neonatal, neonatal precoce, taxa de letalidade das formas graves de dengue, etc. A Paraíba tem 223 municípios e os dados são desde 1999, mensais. Eu usei vários FOR onde o primeiro por exemplo eu corro nos municípios e o outro eu corro nos anos para ter uma série histórica. A cada passo nos FOR, ou seja, quando o município for João Pessoa e o ano for 1999, por exemplo, eu uso SUBSET para filtrar o banco com essas características e busco a primeira dimensão dim()[1] (Número de linhas). Dessa forma, eu tenho o número de óbitos de João Pessoa no ano 1999 (Número de Registros). Veja, o primeiro FOR vai variara na sequência 1:223 e o segundo entre os anos de 1999 a 2011, e tudo isto para ter apenas o numerador do indicador. Imagine um banco com com umas 700 mil linhas, banco este em formato DBF. Eu simplifiquei bastante o exemplo pois existe várias outras peculiaridades. Certamente, deve existir formas mais inteligentes de fazer isto mas essa foi uma que encontre e tá me dando a resposta que quero. Eu vi que as funções sapply e derivados é mais interessante quando quero aplicar funções a alguma dimensão de um data.frame ou matriz. Para "talhar" minha base de dados achei melhor usar o SUBSET, talvez por não entender muito. O cálculo de cada indicador não demora muito, uns 2 minutos no máximo mas queria otimizar mais e pensei em usar C na hora da entrada nos FOR o que pode ser uma saída.
--
Saudações,Pedro Rafael Diniz Marinho.
--
Saudações,Pedro Rafael Diniz Marinho.