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