Я так и не получил R.NET - документация просто не очень понятна.
Однако есть и другой вариант.Вы можете использовать командную строку для передачи аргументов из вашего приложения C # в ваш R.Script.
Например:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string strCmdText;
strCmdText = "Rscript.exe [directory here]\\script.R 10 arg2"; //what comes after script.R are the arguments you are passing.
System.Diagnostics.Process.Start("CMD.exe", strCmdText);
}
}
}
Затем очень легко получить аргументы в R-скрипте.Просто используйте:
args <- commandArgs(trailingOnly = TRUE)
var1 <- args[1] #Argument 1
var2 <- args[2] #Argument 2
Приложение: Пожалуйста, обратите внимание, что вы должны иметь ваш RScript.exe в переменных среды для того, чтобы вышеперечисленное работало.