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 [email protected] 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.
