Em 26/8/2011 20:35, Leandro Marino escreveu:
Leandro,
/Pedro,
em geral quando você tem vários FOR aninhados você pode substituí-los
por sapply, lapply ou genéricos. Cada caso é um caso e deve ser avaliado
com cuidado.
Esse é o famoso caso em que "só aprende a desfrutar da juventude quando
já se está velho demais".
Se somente após rodar as duas formas ter-se-á certeza, mas aí já se tem
resultados, e como você mesmo escreve cada caso é um caso, então a
solução não ajuda em casos em que se tenha que repetir a análise com
dados diferentes....
Particularmente, pretendo desenvolver em C um conjunto de funções
antigas do Prof. Ruben que rodam em FORTRAN (apenas em compiladores mais
antigos) para que possamos usá-las dentro do R, ganhando um precioso
tempo, entre exportar, rodar e importar os dados novamente.
Tecnicamente você vai _portar_ o conjunto de funções antigas, supondo
que os algoritmos serão os mesmos e que você disponha de dados (de
entrada) e resultados já conhecidos para efetuar testes.
Ainda assim, vale a pena alertá-lo que esse porte pode exigir mais que
somente tradução do código de Fortran para C (que por sinal pode ser
automatizado, em parte, usando um programa denominado f2c):
O Fortran e o C têm "expectativas" diferentes quanto à organização de
matrizes
(http://stackoverflow.com/questions/227627/fortran-array-to-c-array-stupid-macro-tricks-wanted)
Os arrays em Fortran começam a partir de um enquanto em C a partir de
zero. Como em programação matemática a forma do Fortran faz mais sentido
existem até propostas de "jambrar" o código em C para "emualar" esse
tipo de programação (Numerical Recipes in C, 2ª edição, pg 18 [versão
considerada "obsoleta" disponível p/consulta em
http://apps.nrbook.com/c/index.html) que os especialistas em C deprecam
(http://c-faq.com/aryptr/non0based.html).
Há ainda que tomar cuidado com tipos (conversão). . .
HTH
--
Cesar Rabak
GNU/Linux User 52247.
Get counted: http://counter.li.org/
_______________________________________________
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.