Carto Fernando,

O seu problema não estava no for, mas sim nos if's e else's que vc tem na função segregação! O for foi substituído por um apply!

Creio que seu problema foi resolvido! O que levava quase 5 seg. por iteração agora faz em 0.032 seg aproximadamente!

Em anexo estão os arquivos que utilizei como teste.

Espero que vc utilize o linux, pois se vc dá dinheiro do Bill Gates, não conseguirá rodar o programa! Ele não ajuda quem dá dinheiro a ele!!!

No diretório onde se encontra o arquivo segregacao.c e exemplo.R vc deve dar a seguinte linha de comando:

R CMD SHLIB segregacao.c

R CMD BATCH exemplo.R # Para rodar em Batch

Ou rode no seu editor R favorito!

Dá para otimizar mais, o seu código, porém exige muuuiiittooo mais tempo!

Valeu!!!

 
            Fábio Mathias Corrêa
        Departamento de Estatística
   Universidade Estadual de Santa Cruz



Tel.: 73-3680-5076
Cel.: 73-9991-8155