[R-br] Digest R-br, volume 6, assunto 12

Leonard Assis assis.leonard em gmail.com
Quinta Agosto 11 11:02:01 BRT 2011


Benilton, bom saber desses pequenos detalhes.

No meu caso, de uns tempos pra cá eu tenho trabalhado com bases de dados da
ordem de milhoes de registros e perto de 50 variáveis.

Via de regra, eu faço 99% do "trabalho sujo" (Consistência e transformação
das variáveis) usando algum BD SQL (MySQL, Oracle, SQL Server, depende do
caso) e após quase tudo arrumado, eu levo pro R.

Com o R em 64 bits, tenho feito alguns testes para ver se faço parte da
prepara ção já no R e esses milissegundos a menos tem feito a diferença,
principalmente na parte de lidar com memória.

Eu não faço 100% no R porque ainda faço essas transformações com mais
rapidez e segurança usando SQL nativo. Um dia (ainda este ano) com certeza o
farei com mais naturalidade no R.

lmassis <at> yahoo <dot> com <dot> br
assis.leonard <at> gmail <dot> com


2011/8/11 Benilton Carvalho <beniltoncarvalho em gmail.com>

> A verdade, Leonard, e' que o que "mata" a opcao 1 e' a conversao da
> matriz logica is.na(x) para valores *reais* (para que a comparacao com
> 1 possa ser realizada).
>
> Muitos usuarios sao surpreendidos com os seguintes resultados:
>
> is.double(1) ## TRUE
> is.integer(1) ## FALSE
>
> Entao, a expressao
>
> is.na(x) == 1
>
> vai exigir a conversao para numeros reais, que usa mais memoria e
> tempo para a conversao...
>
> Agora, se vc tiver o previo conhecimento de que essa substituicao deve
> acontecer em apenas uma pequena fracao dos dados, vc pode matar a pau
> com:
>
> x[which(is.na(x))] <- .1
>
> Entretanto, e' importante notar que esses ganhos sao substanciais
> apenas para conjuntos de dados de grandes volumes ou atividades que
> sejam repetidas muitas e muitas vezes. Se for algo a ser executado
> apenas uma vez num conjunto de dados pequeno, o que o usuario fara'
> com os 3ms que ele economizou?
>
> b
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20110811/2d0b84ba/attachment.html>


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