<div>Benilton, bom saber desses pequenos detalhes.</div><div> </div><div>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.</div><div> </div><div>
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.</div><div> </div>
<div>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.</div><div> </div><div>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.</div>
<div><br clear="all">lmassis <at> yahoo <dot> com <dot> br<br>assis.leonard <at> gmail <dot> com<br>
<br><br></div><div class="gmail_quote">2011/8/11 Benilton Carvalho <span dir="ltr"><<a href="mailto:beniltoncarvalho@gmail.com">beniltoncarvalho@gmail.com</a>></span><br><blockquote style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;" class="gmail_quote">
A verdade, Leonard, e' que o que "mata" a opcao 1 e' a conversao da<br>
matriz logica <a href="http://is.na" target="_blank">is.na</a>(x) para valores *reais* (para que a comparacao com<br>
1 possa ser realizada).<br>
<br>
Muitos usuarios sao surpreendidos com os seguintes resultados:<br>
<br>
is.double(1) ## TRUE<br>
is.integer(1) ## FALSE<br>
<br>
Entao, a expressao<br>
<br>
<a href="http://is.na" target="_blank">is.na</a>(x) == 1<br>
<br>
vai exigir a conversao para numeros reais, que usa mais memoria e<br>
tempo para a conversao...<br>
<br>
Agora, se vc tiver o previo conhecimento de que essa substituicao deve<br>
acontecer em apenas uma pequena fracao dos dados, vc pode matar a pau<br>
com:<br>
<br>
x[which(<a href="http://is.na" target="_blank">is.na</a>(x))] <- .1<br>
<br>
Entretanto, e' importante notar que esses ganhos sao substanciais<br>
apenas para conjuntos de dados de grandes volumes ou atividades que<br>
sejam repetidas muitas e muitas vezes. Se for algo a ser executado<br>
apenas uma vez num conjunto de dados pequeno, o que o usuario fara'<br>
com os 3ms que ele economizou?<br>
<div><div></div><div class="h5"><br>
b<br>
_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br>
</div></div></blockquote></div><br>