在C#中怎么调用R语言中编写的函数

Python023

在C#中怎么调用R语言中编写的函数,第1张

R软件不只是一种统计工具,它还是一种语言,就语法形式而言跟S语言非常相识。所以类似与数据库一样,在客户端不是就只能调用一些函数,而是可以用数据库提供的SQL语言编写出拥有灵活多变,满足各种需求的功能。R语言也一样,可以在客户端,用S语言编写程序,传送到R软件,R软件计算完成后将结果在传回C#

。既然需要来回传送,必然需要中间的桥梁,就像数据库需要驱动程序一样,在C#中调用R软件,需要安装R(D)COM,R(D)COM是一种DCOM组件,可以注册到Windows的组件服务中,供程序调用。如果用C#开发Web程序,由于ASP.NET是用ASPNET这个用户在执行,而这个用户的权限很低,所以如果要调用R(D)COM的服务的化,需要给ASPNET授予权限。

所有具体的操作,使用方法,可以参考:

http://www.codeproject.com/KB/cs/RtoCSharp.aspx

function用来定义函数,一般一个函数放在一个.m文件里。举个简单的例子建立一个myfunction.m,然后在文件中写。

function y=myfunction(a,b)

其中a,b是输入函数的参数,y是函数返回的值。当需要返回多个值时,可以将y看作一个数组,或者直接将函数的开头写成如function [x,y]=myfunction(x,y)的形式。

然后就是定义函数的内容,通俗的说就是怎样由输入参数a,b得到返回值y。比如最简单的y=a+b。

总结一下,将下面的代码

function y=myfunction(a,b)

y=a+b

保存为一个m文件myfunction.m,调用方式如下。

num=myfunction(3,4)

这样就可以由函数中的y=a+b得到num的值是3+4=7。

以上是最简单的例子,不知说清楚没有,