如何将C#中的参数传入R环境

问题描述

连接方式选用的是RdotNet,在c#环境下产生的向量如何传入到RDotNet中,程序如下DataFramedata=engine.Evaluate("data<-read.csv('ppt21.csv',header=T,sep=',')").AsDataFrame();Double[]position=newdouble[]{1,2,3,4,5};NumericVectorf=newNumericVector(engine,position);DataFramea=engine.Evaluate("a<-cbind(data[1:len,f],d1)").AsDataFrame();

执行到产生f到赋值可以通过,但是在产生a的时候f无法传入到R环境中,报错是“找不到f”,应该就是R环境中并没有f,那么想请教下如何把position向量传入赋值给f

解决方案

解决方案二:
这个问题目前自己找到了一个有效的解决办法,分享一下。因为rdotnet下调用r的操作都是以字符串形式进行的,如下面这个创建向量的操作NumericVectorgroup2=engine.Evaluate("group2<-c(29.89,29.93,29.72,29.98,30.02,29.98)").AsNumeric();

engine.Evaluate后接的都是一组双引号,证明是一组字符串的操作。那么我们就把想要传入的参数f,按照每一位转换成字符串类型,再传入R环境就可以了如已经将上面的group2转成了一个string类型的变量f,NumericVectorgroupf=engine.Evaluate("groupf<-c("+f+")").AsNumeric();

时间: 2024-11-04 20:48:34

如何将C#中的参数传入R环境的相关文章

mysql的列名可以在java中作为参数传入吗

问题描述 mysql的列名可以在java中作为参数传入吗 mysql的列名可以在java中作为参数传入吗? 我用了 但不行 因为是string 但有别的方法吗? 解决方案 能说清楚点吗,就你叙述的来说根本不知道你是想干什么 解决方案二: 明确告诉你可以,只有你想不到,没有java做不了 解决方案三: ResultSet有如下重载 java代码: String getString(String columnLabel) throws SQLException; 调用 String test = r

PowerShell函数中把参数传入另一个函数的函数传参例子_PowerShell

本文介绍在自定义PowerShell函数时,可以使用@PSBoundParameters来将参数传递给另一函数. 下面,我们来创建一个Get-BIOS的函数, 复制代码 代码如下: function Get-BIOS {     param     (         $ComputerName,         $Path     )     Get-WmiObject -Class Win32_BIOS @PSBoundParameters } 在这个函数中,我们并没有作任何实际的操作,只是

c语言中怎么把一个大小不确定的二维数组当作参数传入函数中

问题描述 c语言中怎么把一个大小不确定的二维数组当作参数传入函数中 c语言中怎么把一个大小不确定的二维数组当作参数传入函数中,取大神,取大神,取大神 解决方案 用VC++新建一个程序,默认生成的main函数定义如下 int mian(int argc, char* args[]) 这就是一个例子. 解决方案二: 一个表示长度的参数,一个指向二维数组的指针 解决方案三: fun(args[][],int rows,int cols) 解决方案四: void Func(int array[][10]

mysql-Mysql存储过程中怎么判断传入参数与自定义字符串的值相等(新人求助)

问题描述 Mysql存储过程中怎么判断传入参数与自定义字符串的值相等(新人求助) CREATE DEFINER=root@localhost PROCEDURE kkk(biaoshi varchar(10)) BEGIN set @count="1"; if(biaoshi.equals(@count)) then select 2; else select 1; end if; END 系统报错 :21:52:28 call kkk('1') Error Code: 1305. F

以一个链表指针作参数传入一个函数里,若此时链表为空,则初始化链表,为什么在主函数中不能用?

问题描述 以一个链表指针作参数传入一个函数里,若此时链表为空,则初始化链表,为什么在主函数中不能用? #include using namespace std; typedef struct Node { int age; struct Node* next; }LIST; void addList1(LIST* pHead,int x)//链表结尾加节点 { LIST* pM=new LIST();//新节点 pM->age=x; pM->next=NULL; if(pHead==NULL)

反射中调用方法传入参数类型一样 却报错

问题描述 反射中调用方法传入参数类型一样 却报错 object obj = Activator.CreateInstance(objectType);// 创建实例 反射创建一个实例 MethodInfo methodInfo = obj.GetType().GetMethod("Parse"); //调用里面的Parse 方法 这个方法需要参数 List methodInfo.Invoke(obj, new object[]{items}); //items 是List类型的参数 ,

java-JAVA程序中,校验传入的参数是否是正确,最优方法

问题描述 JAVA程序中,校验传入的参数是否是正确,最优方法 各位大神,指导下 在java程序中,校验传入的参数是否是正确,我现用的有2种方法: 1:是直接自定义抛出参数异常[IllegalArgumentException] 2:不抛出异常,把这个参数异常的计入日志直接return 哪种好些呢? 或者还有其他的最佳实践吗? 解决方案 个人认为还是写入日志比较好. 解决方案二: 看异常的性质,如果异常发生不处理会导致程序出现不可预料的结果,最好还是直接丢出,这样调试起来容易. 解决方案三: 是否

link中函数得到传入函数的个数怎么做?如何判断参数数量?

问题描述 link中函数得到传入函数的个数怎么做?如何判断参数数量? link中函数得到传入函数的个数怎么做?如何判断参数数量? 解决方案 这个可以用可变参数 void foo(params object[] args) { int count = args.Count(); }

Python中实现参数类型检查的简单方法

  这篇文章主要介绍了Python中实现参数类型检查的简单方法,本文讲解使用装饰器实现参数类型检查并给出代码实例,需要的朋友可以参考下 Python是一门弱类型语言,很多从C/C++转过来的朋友起初不是很适应.比如,在声明一个函数时,不能指定参数的类型.用C做类比,那就是所有参数都是void*类型!void类型强制转换在C++中被广泛地认为是个坏习惯,不到万不得已是不会使用的. Python自然没有类型强制转换一说了,因为它是动态语言.首先,所有对象都从Object继承而来,其次,它有强大的内省