У меня нет опыта работы с Фортраном, но я пытаюсь запустить очень простой цикл на этом языке, вызывая его из R через .Fortran ( ) функция. Всякий раз, когда я запускаю последнюю строку кода R, которая вставлена ниже, графический интерфейс R дает сбой, и я не получаю результата. Я заинтересован в том, чтобы вернуть вектор реальных значений x из Фортрана в R для дальнейшего анализа. g - числовое значение от 0 до 1, а n - целое число, и оба они предоставляются пользователем в R.
Любая помощь будет принята с благодарностью! Бест,
Винсент
Код Fortran сохранен в bar.f:
subroutine bar(n, g, x)
integer n
double precision g
double precision x(n)
integer i
x(1)=1
do 100 i = 2, n
x(i) = x(i-1) * g + 1
100 continue
end
Компиляция DLL в Cygwin с помощью gfortran:
gfortran -shared -obar.dll bar.f
Код R:
dyn.load("d:/bar.dll")
is.loaded("bar")
.Fortran("bar", n=as.integer(15), g=as.double(5), x=as.double(rnorm(5)))