如何在MATLAB中调用R函数

实例: 大维的方差估计需要应用一个R包PDSCE,而之前的程序都由MATLAB书写。因此,需要在MATLAB程序中调用R的PDSCE包。

首先,安装R软件(需要将R加入到系统路径,即修改环境变量path)。

其次,从本地安装PDSCE。有些包需要C编译,如果不能加载成功,需要安装Rtools。

然后,编写如下的程序过程

1.  csvwrite('in.csv',input_data);   %将matlab的数据写到csv格式中,这个相当于要将R中需要的参数写到csv中,有多少个参数就写多少个文件


2.  !R CMD BATCH ./callPDSCE.R           %运行callPDSCE.R,callPDSCE.R具体列出在下面


3.  output_data = csvread('out.csv',1,1);    %读从R中运算出的结果

 

%callPDSCE.R中的内容

rawdat <- read.csv('in.csv',header=FALSE)  %读从matlab写入csv的格式

library("PDSCE")    %加载包

cv.out=band.chol.cv(x=rawdat)   %调用估计方差矩阵的R函数

write.csv(cv.out$sigma,'out.csv')   %运算结果写入csv文件中

 

上面的过程可以应用于一般的MATLAB调用R的应用,网上的MATLAB_RLINK有太多的bug,不推荐这个方式。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值