как да комуникираме с R чрез VBnet(или C#)

Наскоро разработих експериментално приложение с VB.net (в платформа Windows). Когато приложението събра данните, искам да използвам R за анализ на данните, но не знам как да комуникирам с R (С други думи, искам да изпратя R скрипт на R в собственото си приложение). Ще съм благодарен, ако някой може да ми даде някои предложения или някои справочни документи. Благодаря ти много!


person Ethan.Tung    schedule 26.05.2012    source източник
comment
Разгледахте ли инструментите на statconn? rcom.univie.ac.at   -  person blindjesse    schedule 26.05.2012
comment
Знаех тази контрола (инструменти за statconn), но тази контрола съдържа рекламата. Освен това искам да го напиша сам. Имате ли референтни документи?   -  person Ethan.Tung    schedule 26.05.2012


Отговори (3)


Предлагам ви да опитате R.NET. Аннотацията казва:

R.NET позволява на .NET Framework да си сътрудничи с R статистически изчисления. R.NET изисква .NET Framework 4 и собствени DLL файлове, инсталирани с R среда. Нямате нужда от други допълнителни инсталации. Насладете се на статистика и програмиране на вашия специален език с R.

Това е обвързване с отворен код, което изглежда малко по-просто от инструментите statconn, тъй като не минава през DCOM. Лицензирано от LGPL, така че е безплатно и за търговска употреба. И можете да комбинирате с Excel-DNA, за да изложите R чрез .NET на Excel - малко дискусия тук: http://www.r-bloggers.com/yet-another-way-to-use-r-in-excel-for-net-programmer/.

person Govert    schedule 26.05.2012
comment
Използвах го и дори изпратих някои графични подробности rdotnet.codeplex.com/workitem/7 . Има някои сериозни проблеми с ресурсите; ТРЯБВА да използвате svn версията, защото така наречената стабилна версия не е актуализирана от дълго време. Като цяло страхотно начало, но не излетя и маркирането на проекта за конюшня е силно подвеждащо. Да не се използва за сериозна работа. - person Dieter Menne; 26.05.2012
comment
да, имам същото чувство. Най-новата dll дори не поддържа версия R 2.15 (поддържа 2.14.1). - person Ethan.Tung; 27.05.2012

Алтернатива както на statconn, така и на R.Net е да използвате mt4r dll и просто да пуснете класа cMT4R C# във вашия проект и да започнете да използвате R. Използвал съм statconn и все още често го правя за скорост на предаване на данни. Никога не разбрах R.Net.

Но ако се опитвате да започнете работа с възможно най-простата инсталация, погледнете следната връзка, която описва интерфейса и инсталацията за MT4R. След като включите C# класа във вашия проект, вие просто трябва да актуализирате класа с R пътя на вашия компютър и DLL ще свърши тежката работа. Интерфейсът на класа е интуитивен и лесен за използване.

https://sites.google.com/site/marketformula/vb6-to-c/vb6-to-c-downloads/calling-r-from-csharp-dotnet

Наличен е и клас VB6 (свързан в публикацията по-горе), ако някой все още работи с VB6 или използва VBA и иска начин да започне работа с R бързо с лесна инсталация.

Включено е просто демонстрационно приложение, което показва как да изпращате и получавате данни от C# към R.

person Patrick White    schedule 16.04.2013

За тази цел използвайте StatConn DCOM библиотека вместо R.NET. Според моя собствен опит е много по-стабилна от .NET библиотеката.

За да направите това, трябва да инсталирате R, да добавите разширения rcom и rsproxy от всяко CRAN хранилище и да инсталирате StatConn DCOM. След като ги инсталирате, можете да проверите дали вашата R връзка работи чрез тези примерни програми, идващи с пакета DCOM.

Ако те работят, можете да добавите всички препратки към statconn към вашия .NET проект чрез Visual Studio.

Късмет

person Gökalp Çelik    schedule 22.01.2013