Matlab中调用R(转摘ZZ)-经管之家官网!

人大经济论坛-经管之家 收藏本站
您当前的位置> 软件培训>>

Matlab软件培训

>>

Matlab中调用R(转摘ZZ)

Matlab中调用R(转摘ZZ)

发布:zhangtao | 分类:Matlab软件培训

关于本站

人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!

获取电子版《CDA一级教材》

完整电子版已上线CDA网校,累计已有10万+在读~ 教材严格按考试大纲编写,适合CDA考生备考,也适合业务及数据分析岗位的从业者提升自我。

完整电子版已上线CDA网校,累计已有10万+在读~ 教材严格按考试大纲编写,适合CDA考生备考,也适合业务及数据分析岗位的从业者提升自我。

在Matlab中调用R一直往返于Matlab与R之间进行编程,今天发现原来有办法直接用Matlab调用R,具体如下:CallingRfromMatlabThisusestheCOMinterface,soonlyworksonWindows.InstallR.2.7.0ornewer.MakesureR.exeisinyou ...
免费学术公开课,扫码加入


在Matlab中调用R
一直往返于Matlab与R之间进行编程,今天发现原来有办法直接用Matlab调用R,
具体如下:
Calling R from MatlabThis uses the COM interface, so only works on Windows.
Install R.2.7.0 or newer. Make sure R.exe is in your windows path.
Install and run the Rcom server
Reboot matlab and put the following m-files in your path
Optional: in R-2.7.0\bin make a file called "R.init" which contains startup commands, such as library(glasso)
In matlab, type Rdemo. This should display b = 1 4 9 16 25 36 49 64 81 100c = 2 5 10 17 26 37 50 65 82 101
You can also call R as a subprocess as follows !R --no-save # at the matlab promptq() # at the R prompt to quit.
Trouble shooting
If it's not working make sure the Dcom service is running under Control Panel --> Administrative Tools --> Services --> DCOM Server Process Launcher. You can start the service by right clicking and selecting 'start', (unless of course its already running) and have it always start on reboot by double clicking and changing the startup type to automatic.
The Rsvr install creates a bunch of shortcuts under the R program folder on the start bar. One of these, "server 01 Basic Test" will test the connection to R - if that works we know the problem is between Matlab and Dcom and also unlikely to be a firewall problem.
ExampleA matlab wrapper to the glasso function.function precMat = glassoR(C, rho, useMBapprox)% Use L1-linear regression to find markov blankets and then Lambda.% Uses R code from http://www-stat.stanford.edu/~tibs/glasso/openR;evalR('C<-1') % must pre-declare variable before writing a matrixevalR('L<-1') putRdata('C',C);putRdata('rho',rho);putRdata('useMBapprox', useMBapprox)evalR('stuff <- glasso(C,rho=rho,approx=useMBapprox)'); evalR('L <- stuff$wi') % inverse covariance matrixprecMat = getRdata('L');closeR;经过本人安装测试,发现运用开始菜单中R下的Dcom中的Server 01进行测试,无法通过,报错如下 Loading StatConnector Server... Done Initializing R...Function call failed Code: -2147221485 Text: installation problem: unable to load connector Releasing StatConnector Server...Done经查证,原来Dcom Server需要在系统的Path中能够找到rproxy.dll和R.dll两个文件,R.dll一般直接安装R时机有即有,而rproxy.dll在R2.7.0以后的版本中不再使用,变为rpcproxy.dll,而且需要手动安装
rpcproxy包才会有,安装rpcproxy包后,需要将rpcproxy.dll所在目录手动添加到系统path中,比如
我安装完后,rpcproxy.dll在C:\Program Files\R\R-2.9.0\library\rscproxy\libs中,如此步骤后,
再运行Server 01进行测试,点击StartR,一切Done!
http://hi.baidu.com/binaryfan/item/08a21b0947d30de2f45ba666
「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
本文关键词:

本文论坛网址:https://bbs.pinggu.org/thread-2122101-1-1.html

人气文章

1.凡人大经济论坛-经管之家转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
数据分析师 人大经济论坛 大学 专业 手机版
联系客服
值班时间:工作日(9:00--18:00)