Puisque la question m'a été posée par un élève, je vais faire un cours billet sur le sujet. Oui, il est possible d'executer des code Fortran en R, et il n'est pas forcément utile de retaper le code dans un autre langage.

Prenons un exemple pratique (et intéressant). Sur la page http://lstat.kuleuven.be/Wiley (associée au livre Statistics of Extremes, de Jan Beirlant, Yuri Gogebeur, Johan Segers et Jeff Teugel), il y a des bases de données, mais aussi des codes, dont certains en Fortran. Par exemple ici. Un code en Fortan, ça ressemble à ça,

Pour utilise code et en particulier la fonction gpd, il suffit de pouvoir appeler du code Fortran depuis R. On peut trouver pas mal de documents là dessus sur internet (par exemple ici, ou ). Celà se fait en deux temps.

  1. il faut compiler le code Fortan pour générer un fichier .dll. Pour cela, il suffit de trouver des compilateurs (gratuits) ici, par exemple.
  2. ensuite depuis R, on utilise la fonction dyn.load("D:\\gpd.dll") et toujours sous R, on utilise la commande .Fortran("gpd") doù les paramètres peuvent être spécifiés, par exemple .Fortran("gpd", nobs=as.integer(nrow(base),p=as.integer(4)).
Notons que dans la seconde étape, pour vérifier si la library est bien chargée, on peut lancer le test is.loaded(symbol.For("gpd")) dont, avec un peu de chance, la réponse sera TRUE.