RS.Ratheesh Ответов: 1

Любая библиотека, доступная для вызова rscript из C#, кроме rdotnet


Привет,

Я использую RDotNet для выполнения RScript из моей программы C#. Существует ли какая-либо библиотека .net, кроме RDotNet? RDorNet всегда вызывает проблему.

С уважением,
Ratheesh

Что я уже пробовал:

Я использую RDotNet для выполнения RScript из моей программы C#

1 Ответов

Рейтинг:
1

Joezer BH

Еще одна вещь, которую вы можете сделать, - это запустить R-код в процессе, который вы создаете только для этой задачи. См. этот пример кода, написанный Джейком Дрю на stackoverflow:

public static string RFromCmd(string rCodeFilePath, string rScriptExecutablePath, string args)
    {
            string file = rCodeFilePath;
            string result = string.Empty;

            try
            {

                var info = new ProcessStartInfo();
                info.FileName = rScriptExecutablePath;
                info.WorkingDirectory = Path.GetDirectoryName(rScriptExecutablePath);
                info.Arguments = rCodeFilePath + " " + args;

                info.RedirectStandardInput = false;
                info.RedirectStandardOutput = true;
                info.UseShellExecute = false;
                info.CreateNoWindow = true;

                using (var proc = new Process())
                {
                    proc.StartInfo = info;
                    proc.Start();
                    result = proc.StandardOutput.ReadToEnd();
                }

                return result;
            }
            catch (Exception ex)
            {
                throw new Exception("R Script failed: " + result, ex);
            }
    }