- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我的代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using RDotNet;
using RDotNet.Devices;
using RDotNet.Internals;
using Microsoft.Win32;
namespace Con_R
{
class Program
{
static void Main(string[] args)
{
string rhome = System.Environment.GetEnvironmentVariable("R_HOME");
if (string.IsNullOrEmpty(rhome))
rhome = @"C:\Program Files\R\R-3.3.1";
System.Environment.SetEnvironmentVariable("R_HOME", rhome);
System.Environment.SetEnvironmentVariable("PATH", System.Environment.GetEnvironmentVariable("PATH") + ";" + rhome + @"binx64");
// Set the folder in which R.dll locates.
//REngine.SetDllDirectory(@"C:Program FilesRR-2.12.0bini386″);
REngine.SetDllDirectory(@"C:\Program Files\R\R-3.3.1\bin\x64");
// REngine e = REngine.CreateInstance("test", new[] { "" });
using (REngine engine = REngine.CreateInstance("RDotNet", new[] { "-q" })) // quiet mode
{
foreach (string path in engine.EagerEvaluate(".libPaths()").AsCharacter())
{
Console.WriteLine(path);
}
engine.Evaluate(".libPaths(C:\\Program Files\\R\\R-3.3.1\\library)");
engine.Evaluate("source(D:\\R\\Script\\load_forecast_grid.r)");
Console.ReadLine();
}
}
}
}
低于错误
错误 1“RDotNet.REngine”不包含“SetDllDirectory”的定义 C:\Users\Shrinith_Sanil\Documents\Visual Studio 2013\Projects\Con_R\Con_R\Program.cs 161 21 Con_R
错误 2“RDotNet.REngine”不包含“CreateInstance”的定义 C:\Users\Shrinith_Sanil\Documents\Visual Studio 2013\Projects\Con_R\Con_R\Program.cs 164 45 Con_R
已添加
错误 3“RDotNet.REngine”不包含“EagerEvaluate”的定义,并且找不到接受“RDotNet.REngine”类型的第一个参数的扩展方法“EagerEvaluate”(您是否缺少 using 指令或程序集引用?)C:\Users\Shrinith_Sanil\Documents\Visual Studio 2013\Projects\Con_R\Con_R\Program.cs 167 48 Con_R
最佳答案
通过使用 .NET Framework 的 R.Net Collaboration 和 R 统计计算我问题已解决,下面是代码中的一些修改
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using RDotNet;
using Microsoft.Win32;
using System.IO;
namespace Con_R2
{
class Program
{
static string rPath = "";
static void Main(string[] args)
{
SetupPath(); // current process, soon to be deprecated
using (REngine engine = REngine.CreateInstance("RDotNet"))
{
engine.Initialize(); // required since v1.5
REngine.SetDllDirectory(rPath);
foreach (string path in engine.Evaluate(".libPaths()").AsCharacter())
{
Console.WriteLine(path);
}
engine.Evaluate(".libPaths(C:\\Program Files\\R\\R-3.3.1\\library)");
//engine.Evaluate("source('c:/Program Files/R/R-3.3.1/bin/load_forecast_grid.r')");
engine.Evaluate("source('c:/Program Files/R/R-3.3.1/bin/testcmd.r')");
Console.ReadLine();
Console.ReadKey();
}
}
public static void SetupPath(string Rversion = "R-3.3.1")
{
var oldPath = System.Environment.GetEnvironmentVariable("PATH");
rPath = System.Environment.Is64BitProcess ?
string.Format(@"C:\Program Files\R\{0}\bin\x64", Rversion) :
string.Format(@"C:\Program Files\R\{0}\bin\i386", Rversion);
if (!Directory.Exists(rPath))
throw new DirectoryNotFoundException(
string.Format(" R.dll not found in : {0}", rPath));
var newPath = string.Format("{0}{1}{2}", rPath,
System.IO.Path.PathSeparator, oldPath);
System.Environment.SetEnvironmentVariable("PATH", newPath);
}
}
}
关于c# - REngine' 不包含 'SetDllDirectory' 的定义,'RDotNet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38525902/
在我当前的项目中,我使用的是 C# 和 RDotNet (1.6.5)。我正在计算一些统计数据,例如卡方(使用框架)、相关性和回归(绘图)。我想在我的应用程序中添加一些 R 图。我将绘图输出放入磁盘上
我刚刚开始使用 rdotNet 来自:http://rdotnet.codeplex.com/ .我以前从未使用过 R 本身,但可以在其中进行简单的算术运算。我已经能够在 C# 中创建实例并进行一些简
我正在尝试实现一个 ICharacterDevice 来捕获完整的输出。我找到了一些关于此的信息,例如: Implementing an interactive R console in c# / r
我正在尝试使用 REngine.GetInstance() 函数,但我一直收到空引用异常。 我曾尝试在 REngine 中使用另一个函数,以防万一 getInstance 方法出错,例如 REngin
什么时候使用 RDotNet 进行统计计算相对于生成 R 脚本文本文件并使用例如从应用程序运行它是一个优势/劣势?处理。开始?或者还有其他更好的方法吗? 我需要执行大量命令,感觉将它们一个一个发送到
在尝试加载 RProvider.fsx 时,我收到一个错误,指出程序集引用 RDotNet.dll 未找到或无效 我正在关注这个演练:http://bluemountaincapital.github
我想使用这段代码将 R 结果表达式传输到整数变量: int ID_commun = new int(); ID_commun = engine.Evaluate("intersect(intersec
我的代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data;
我直接从文档中复制代码 http://jmp75.github.io/rdotnet/tut_basic_types/ REngine.SetEnvironmentVariable() 和 REngi
上下文:下面的代码在 C# Windows 应用程序中运行良好,当进入 MVC Web 应用程序时,它会抛出异常“RDotNet.dll 中发生了类型为‘System.StackOverflowExc
当我运行警告 RDotNet.NativeLibrary.UnmanagedDll.SetDllDirectory(string) is obsolete Set environment variab
我在 Visual Studio 2012 的 64 位 Windows 机器上,在 Web 环境中工作。 我已经使用 nuget 安装了最新版本的 R.net (1.5.5),最后发布于 16/09
我正在使用 R.NET 和 ASP.NET MVC3 绘制预测图。首先,它创建一个 RENgine 实例。通过 REngine rengine = REngine.CreateInstance("RD
我在加载“dplyr”库时遇到同样的错误。 engine.Evaluate("library(dplyr)"); 上面的代码我同样的错误 "An unhandled exception of type
我是一名优秀的程序员,十分优秀!