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.

Responder a