как общаться с R через VBnet (или С#)

Недавно я разработал экспериментальное приложение с 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 является использование dll mt4r и просто добавление класса C# cMT4R в ваш проект и начало использования 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