楼主: 南开2011博
7614 25

[问答] R调用Fortran程序 [推广有奖]

  • 9关注
  • 3粉丝

教授

76%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
4.0515
学术水平
-1 点
热心指数
2 点
信用等级
1 点
经验
506 点
帖子
602
精华
0
在线时间
2116 小时
注册时间
2011-6-2
最后登录
2023-12-5

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
用Fortran写好的程序,怎么用R调用?有哪位高人指点一下,非常感谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Fortran Fort For RAN R调用 程序

回帖推荐

epoh 发表于2楼  查看完整内容

Calling Fortran from R 类似Calling C from R 可以由底下网站下载 bar.f http://users.stat.umn.edu/~charlie/rc/ in Windows command line (MS-DOS prompt) R CMD SHLIB bar.f 就会得到 bar.o , bar.dll ########in RGui[R Console] dyn.load("bar.dll") .Fortran("bar", n=as.integer(5), x=as.double(rnorm(5))) $n [1] 5 $x [1] 0.10698738 0.17456107 0.02935878 0.50642238 0.04781733
沙发
epoh 发表于 2011-12-18 21:31:14 |只看作者 |坛友微信交流群
Calling Fortran from R
类似Calling C from R
可以由底下网站下载 bar.f
  http://users.stat.umn.edu/~charlie/rc/
in Windows command line (MS-DOS prompt)
   R CMD SHLIB bar.f
就会得到 bar.o , bar.dll
########in RGui[R Console]
dyn.load("bar.dll")
.Fortran("bar", n=as.integer(5), x=as.double(rnorm(5)))
$n
[1] 5

$x
[1] 0.10698738 0.17456107 0.02935878 0.50642238 0.04781733
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ywh19860616 + 1 + 1 + 1 学习到了

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

藤椅
南开2011博 发表于 2011-12-19 09:46:02 |只看作者 |坛友微信交流群
epoh 发表于 2011-12-18 21:31
Calling Fortran from R
类似Calling C from R
可以由底下网站下载 bar.f
您提到 in Windows command line (MS-DOS prompt)  R CMD SHLIB bar.f

能否详细说一说在哪里运行就可以得到.o 和.dll 文件?我安装了Fortran,Plato里运行结果:
Compiling and linking file: bar.f
*** No main, WinMain or LibMain function
*** Compilation abandoned
Compilation failed.
该怎么办呢?

使用道具

板凳
epoh 发表于 2011-12-19 10:10:07 |只看作者 |坛友微信交流群
南开2011博 发表于 2011-12-19 09:46
您提到 in Windows command line (MS-DOS prompt)  R CMD SHLIB bar.f

能否详细说一说在哪里运行就可以 ...
建议你安装Rtools
  http://www.murdoch-sutherland.com/Rtools/index.html
安装完毕就会有gfortran.exe
C:\Rtools\MinGW\bin\gfortran
设置好路径,就可以执行了

使用道具

报纸
南开2011博 发表于 2011-12-19 10:26:36 |只看作者 |坛友微信交流群
epoh 发表于 2011-12-18 21:31
Calling Fortran from R
类似Calling C from R
可以由底下网站下载 bar.f
您好,我在windows 命令行输入CMD SHILB bar.f ,提示:R不是内部或者外部命令,也不是可运行程序。怎么办?为不是得不到.obj .dll 文件啊?

使用道具

地板
南开2011博 发表于 2011-12-19 10:41:35 |只看作者 |坛友微信交流群
Compiling and linking file: bar.f
$       subroutine bar(n, x)
[SLINK/Win32 v1.44 Copyright (c) Silverfrost Ltd. 1995-2010]
*** Don't understand:  subroutine
*** Compilation abandoned
Compilation failed.
在plato里运行还是说报错!

使用道具

7
epoh 发表于 2011-12-19 10:47:08 |只看作者 |坛友微信交流群
南开2011博 发表于 2011-12-19 10:41
Compiling and linking file: bar.f
$       subroutine bar(n, x)
[SLINK/Win32 v1.44 Copyright (c) Si ...
那是因为你没设好R的路径
不能急,一定要先设好路径
否则是读不到文件的
请参考
http://cran.r-project.org/doc/ma ... #The-Windows-toolse

使用道具

8
epoh 发表于 2011-12-19 13:38:14 |只看作者 |坛友微信交流群
epoh 发表于 2011-12-19 10:47
那是因为你没设好R的路径
不能急,一定要先设好路径
否则是读不到文件的
假设上面的例子还不够清楚
底下这个例子也很浅显明白

http://en.wikiversity.org/wiki/H ... cting_Fortran_and_R

multiply.dll
   multiply.rar (5.52 KB) 本附件包括:
  • multiply.dll


使用道具

9
南开2011博 发表于 2011-12-19 14:56:11 |只看作者 |坛友微信交流群
您好,谢谢!我继续弄

使用道具

10
南开2011博 发表于 2011-12-19 15:06:44 |只看作者 |坛友微信交流群
您好,我现在用plato 编译出来了,可是得到的是.obj .lib文件,没有您说的.dll ?然后我把r的工作目录改到,存放这些文件的地方执行,他说.lib 不是有效的win32有效程序  
.lib 文件和dll 不一样吗?怎么得到dll 用plato

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 09:38