相关文章推荐
坚强的啄木鸟  ·  Unity 之 ...·  3 天前    · 
风流的松树  ·  Unity ...·  2 天前    · 
千杯不醉的回锅肉  ·  PrintPreviewControl ...·  1 月前    · 
有爱心的海龟  ·  Set-WinUserLanguageLis ...·  1 年前    · 

1.在NuGet里找R.net (1.7.0)下载。(我下载安装不成功,报错为:不能安装依赖项DynamicInterop0.8.1, 把项目框架改成.Net Framework 4.6.1就好使了)。
2.安装R软件。( 注意不要安装最新的3.5.1版本 ,我之前安装3.5.1版本
REngine engine = REngine.GetInstance(); 一直报错:没有实例化。那是因为现在R.net最新版本不支持最新的R3.5.1)。

C#调用R语言脚本

在F盘的根目录下写了一个测试的R语言脚本,脚本名称为test_mydata.R

test_mydata <- function()
{
write.csv( “function is ok!”, file = “F:/mydata.csv” )
}
match_string()

执行该脚本,可在F根目录下生成mydata.csv文件。

            REngine.SetEnvironmentVariables();
            REngine engine = REngine.GetInstance();
            engine.Evaluate("source('F:/test_mydata.R')");
            Console.ReadKey();
            engine.Dispose();

C#调用R语言脚本中的某一函数并获得返回值

在F盘的根目录下写了一个测试的R语言脚本,脚本名称为test_return.R

test_return <- function(x)
{
if(x == ‘woozoom’) {
match_flag = 1
} else {
match_flag = 0
}
return(match_flag)
}

当参数为“woozoom” 函数返回1,其他返回0.

            REngine.SetEnvironmentVariables();
            REngine engine = REngine.GetInstance();
            engine.Evaluate("w <- 'woozoom'").AsCharacter(); //给w赋值
            engine.Evaluate("source('F:/test_return.R')");
            var returnNum = engine.Evaluate("test_return(w)").AsNumeric(); 
            Console.WriteLine("returnNum: [{0}]", string.Join(", ", returnNum));
            Console.ReadKey();
            engine.Dispose();
                    C#调用R语言脚本及函数环境准备C#调用R语言脚本C#调用R语言脚本中的某一函数并获得返回值环境准备1.在NuGet里找R.net(1.7.0)下载。(我下载安装不成功,报错为:不能安装依赖项DynamicInterop0.8.1,把项目框架改成__.Net Framework 4.6.1__ 就好使了)。2.安装R软件。(注意不要安装最新的3.5.1版本,我之前安装3.5.1版本REng...
				
IronPython是一种在 .NET及 Mono上的 Python实现,由微软的 Jim Hugunin所发起,是一个开源的项目,基于微软的 DLR引擎。IronPython的在CodePlex上的主页:http://ironpython.codeplex.com/  使用场景: 如果你的小伙伴会写Python脚本,而且已经实现大部分项目的功能不需要再用C# 实现。现在缺少窗体,此时Python+C#的组合就可以完美的结局问题啦! 借由IronPython,就可以利用.NET执行存储在Python脚本中的代码段。下面通过简单的示例说明如何应用C#调用Python脚本。 1、在VS中
最近写了一个质谱的数据处理软件,其中一部分功能要实现实时线性拟合,并且求得拟合方程 R2、SD 、 pearson 系数以及进行统计学F检验求得p-value。 C#的自身库 以及开源库 Math.net 可以计算拟合方程 R2、SD 、 pearson 系数,但是并不能进行FTest检验。因此这里引用了R语言的类库 R.net,通过C#调用R语言实现这一功能。
首先下载RDotNet.dll、RDotNet.NativeLibrary.dll、Interop.STATCONNECTORCLNTLib.dll、Interop.StatConnectorCommonLib.dll及Interop.STATCONNECTORSRVLib.dll,引用如下名字空间: using RDotNet; using RDotNet.NativeLibrary; usi...
添加 using RDotNet; RDotNet.REngine.SetEnvironmentVariables();//设置R语言运行环境//REngine.SetEnvironmentVariables(null, null); var v = RDotNet.REngine.GetInstance();//得到R语言实例//REngine e
REngine.SetEnvironmentVariables(); REngine engine = REngine.GetInstance(); engine.Initialize(); engine.Evaluate("source('test.r')"); engine.Dispo...
1. https://mirrors.tuna.tsinghua.edu.cn/CRAN/ 安装R3.4.4所有安装最好不要改路径 2.https://mirrors.tuna.tsinghua.edu.cn/CRAN/ 下载DCOM安装 3.https://www.nuget.org/packages/R.NET.Community/1.6.5 VS安装R.NET 程序包管理控...
情景是这样的:在C#调用python脚本进行post请求,python脚本中使用了requests包。 Python的开发环境我们有比较多的选择,pycharm、sublime text等等。但是作为.net平台的Python语言ironPython,可以和C#交互,让编程更活泛。 ironPython本身其实就是一个python的开发环境,我的电脑上还装有python2.7和pycharm,开始的时候使用pycharm写的,本来的想法是用VS直接调用就可以了。但是后来才明白这三者的关系。 pycharm起到的左右就是一个纯编辑器的作用。在VS里面加载了写的.py文件之后,相当于把这个.py
那么在这个页面的后台代码可以这样去实现在C#后台调用前台这个A()函数; 首先在前台拖放一个ItlResult控件id=itlResult; 然后在c# 后台代码中这样调用: itlResult.Text =[removed]A();[removed]; 上述方法适用于后台的代码是前台页面的后台层; 依旧假设前台有A()函数
Step1:安装R语言软件 Step2:http://visualstudiogallery.msdn.microsoft.com/27077b70-9dad-4c64-adcf-c7cf6bc9970c下载对应studio的NuGet.Tools.vsix安装插件 Step3:https://www.nuget.org/packages/R.NET 安装对应的包 Step4:http://
因为要实现多个R实例同时运行的效果,折腾了一个礼拜总算有点结果,虽然没有找到从根本上解决的办法,但也可以暂时保证程序的可用性。希望能把前因后果写清楚,也方便他人借鉴。会分为几篇文章讲,这一篇先记录下R.NET部分。 首先来看看REngine初始化的官方推荐方法: REngine.SetEnvironmentVariables() REngine.GetInstance() 就两句,什
从 Unity 脚本调用 JavaScript 函数需要使用 Unity 的 JavaScript Bridge。具体步骤如下: 1. 在 Unity 中创建一个 JavaScript 文件,编写需要调用函数。 2. 在 Unity 中创建一个 C# 脚本,使用 Unity 的 JavaScript Bridge 调用 JavaScript 函数。 3. 在 C# 脚本中使用 Application.ExternalEval() 方法调用 JavaScript 函数。 例如,假设我们有一个 JavaScript 函数: function MyFunction() { alert("Hello from JavaScript!"); 我们可以在 Unity 中创建一个 C# 脚本,使用以下代码调用函数: using UnityEngine; public class MyScript : MonoBehaviour { void Start() { Application.ExternalEval("MyFunction();"); 这将在 Unity 中启动时调用 MyFunction() 函数,并在浏览器中显示一个警告框,显示“Hello from JavaScript!”消息。 ### 回答2: Unity是一款跨平台开发引擎,它允许用户在单个开发环境中创建游戏,应用程序和交互式体验,可以与JavaScript语言相互协作。在Unity中,用户可以通过JavaScript脚本调用JavaScript函数。 在Unity中调用JavaScript函数需要UnityWebRequest组件和JavaScript脚本。用户需要使用UnityWebRequest组件来创建一个HTTP请求,并将请求发送到包含JavaScript函数的服务器。此时,需要将请求发送到与用户当前使用的代码路径不同的路径上,因为代码路径访问会导致JavaScript函数无法访问。 接下来,用户需要将服务器上的JavaScript脚本与UnityWebRequest组件连接起来。为此,需要在JavaScript代码中包含一些特殊的代码,以便UnityWebRequest组件知道如何正确解析数据。例如,为了与JavaScript函数交互,需要在JavaScript代码中添加以下代码行: function OnMessageReceived(message) { // ... } 该代码会在JavaScript函数中定义一个名为OnMessageReceived的函数。这个函数可以接受任何类型的参数,在这个例子中,我们需要传递message参数,这个参数表示从Unity中发送的信息。 最后,设置UnityWebRequest组件并使用JavaScript代码会话发送请求以调用JavaScript函数。为此,用户需要在Unity中创建一个HTTP POST请求并将其向JavaScript服务器发送。这个POST请求中的数据包含JavaScript函数的名称(在上面的例子中为OnMessageReceived)和任何必要的参数,以便调用JavaScript函数并获取返回值。 总之,在Unity中调用JavaScript函数需要使用UnityWebRequest组件和JavaScript脚本,使Unity可以通过HTTP协议与JavaScript通信。用户需要在服务器端编写JavaScript代码,将其配置为接收来自Unity的HTTP请求,并运行JavaScript函数以执行适当的操作。通过这种方法,用户可以在Unity中使用JavaScript,并能够在不同的编程语言之间建立交互。 ### 回答3: 从Unity脚本调用JavaScript函数可以通过Unity的内置插件UnityScript来实现。UnityScript是一种类似于JavaScript的脚本语言,在Unity中可以用来编写游戏逻辑代码。 1. 创建Unity脚本 首先,我们需要在Unity中创建一个新的脚本文件。在Unity中,选择"Assets" -> "Create" -> "C# Script",然后给脚本文件命名。打开脚本文件,我们可以在其中添加调用JavaScript函数的代码。 2. 编写JavaScript函数 接下来,我们需要编写要调用的JavaScript函数。在Unity中,可以在“Assets”窗口中创建JavaScript文件,并在其中编写代码。JavaScript文件应该存储在Assets文件夹下的任何一个子目录中。要调用的JavaScript函数应该是全局函数,可以通过window对象来访问。 3. 添加UnityScript代码 在Unity脚本中添加以下代码,以调用JavaScript函数: function Start() { Application.ExternalCall("javascriptFunctionName"); 其中,"javascriptFunctionName"是我们要调用的JavaScript函数的名称。 4. 打包项目 最后,我们需要将Unity项目打包为WebGL格式。在打包过程中,Unity会将所有的JavaScript代码和UnityScript代码打包到同一个HTML页面中。在这个页面中,UnityScript代码在"UnityLoader.js"文件中加载,而JavaScript代码在"UnityLoader.js"文件加载之后立即执行。因此,我们可以在UnityScript中调用JavaScript函数。 需要注意的是,由于Unity使用了自己的JavaScript解释器(IL2CPP)来生成JavaScript代码,因此有些JavaScript语言特性可能无法直接使用。如果需要使用这些功能,需要进行特殊处理。