[R-br] RES: [Dúvida] Invocar funções C++ no R

Pedro Rafael pedro.rafael.marinho em gmail.com
Sexta Agosto 26 21:58:47 BRT 2011


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.

Em 26 de agosto de 2011 21:05, beniltoncarvalho [via R-br] <
ml-node+3772320-650293871-223914 em n4.nabble.com> escreveu:

> E sobre of for()s, eu ja' postei aqui que eles nao sao (mais) tao
> lentos quanto pregam.
> _______________________________________________
> R-br mailing list
> [hidden email] <http://user/SendEmail.jtp?type=node&node=3772320&i=0>
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://r-br.2285057.n4.nabble.com/R-br-Duvida-Invocar-funcoes-C-no-R-tp3768159p3772320.html
>  To unsubscribe from R-br, click here<http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3357982&code=cGVkcm8ucmFmYWVsLm1hcmluaG9AZ21haWwuY29tfDMzNTc5ODJ8NTAyMjI0MDYw>.
>
>



-- 
Saudações,
Pedro Rafael Diniz Marinho.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20110826/217cc007/attachment.html>


Mais detalhes sobre a lista de discussão R-br