Sadece .NET'te kullanılabilen R'den bir API kullanmak istiyorum. R'den .NET C# kodunu çağırmak için kullanılabilecek standart bir yöntem var mı? Eğer öyleyse, nasıl yapabilirim?.NET/C# çağrısı R
cevap
düşünebilirsiniz bu tartışmanın okuyucular ben R. It dan keyfi .NET kod erişmek için birkaç yıl boyunca üzerinde çalışıyor olması rClr package, bir başka seçenek tersine, bir yoludur, R.NET bir kardeş olduğunu .NET'ten R'ye erişmek için.
library(rClr)
clrLoadAssembly('c:/path/to/myassembly.dll')
myObj <- clrNew('MyNamespace.MyClass,MyAssemblyName')
clrCall(myObj, 'SayHelloWorld')
Görüşler ve öneriler web sitesi üzerinden kabul edilir:
RCLR paketinin bir lezzet vermek için, kanonik "Merhaba Dünya" gibi görünüyor..NET dll'yi COM dll olarak gösterme ve sonra dll'deki bir COM nesnesini çağırmak tek yol gibi görünüyor. Ve bunun için bir paket var: http://cran.r-project.org/web/packages/rcom/rcom.pdf
Üçüncü taraf dll olduğundan bir COM dll yapamıyorsanız, her zaman gerçek dll'yi arayabileceğiniz COM arabirimli yeni bir arayüz benzeri .NET dll oluşturabilirsiniz.
Sistemde ProgID'lerin bir listesini görmek için bkz. Http://procbits.com/2010/11/08/get-all-progid-on-system-for-com-automation/ – Contango
- 1. çağrısı
- 2. Tanımlanmamış işlev çağrısı session_register()
- 3. Ember.RSVP.Promise AJAX çağrısı
- 4. AJAX çağrısı
- 5. dizgeye bir işlev çağrısı zorla
- 6. R '' deki Tarihler R
- 7. R Listelerinde Kesişme R
- 8. Hata Nesneleri \ CM olmadan, nesne \ r \ r \ r \ r \ Nesneler \ r \ n \ r \ n \ r \ n \ z Nesneler nesnesinde
- 9. R:
- 10. , R
- 11. R -
- 12. R:
- 13. R -
- 14. R:
- 15. - R
- 16. R:
- 17. R,
- 18. R:
- 19. R -
- 20. Özel X86_64 C işlev çağrısı için çağrı çağrısı
- 21. ColdFusion'dan C# çağrısı
- 22. Flash - AJAX çağrısı
- 23. Yakut - Gelen http çağrısı
- 24. ajax çağrısı ile QuickSearchJS
- 25. 'node findJavaHome.js' çağrısı, binding.gyp
- 26. C++ hızlandırma yöntem çağrısı
- 27. çerçeve oyna - ajax çağrısı
- 28. Birim testi Activity.startService() çağrısı?
- 29. AnimatorSet setStartDelay çağrısı onAnimationStart
- 30. javascript: kendisine işlev çağrısı
Wow - indirildi ve Kesinlikle mükemmel çalıştı! Bu paket sadece şaşırtıcı, gelecekte çok kullanmak için sabırsızlanıyoruz. İyi işlere devam et! – Contango
Herhangi birinin yukarıdaki kodlara özel bir örneği var mı? – Artiga
'library (rClr) clrLoadAssembly ('C: \\ __ \\ TstingRLib \\ ClassLibrary1 \\ bin \\ Sürüm \\ ClassLibrary1.dll') yObj <- clrNew ('System.System.Text, System') Tür bulunamadı: System.System.Text, System ClrNew hatası ("System.System.Text, System"): Tür: System.ArgumentException İleti: Type dizesinden 'System.System.Text' belirlenemedi, Sistem ' Yöntem: System.Object CreateInstance (System.String, System.Object []) Yığın izleme: Rclr.ClrFacade.CreateInstance (String typename, Object [] argümanlar) ___ \ AppData \ Local \ Temp \ Rtmp2D63Nz \ R.INSTALL1f3c2a50350 \ rClr \ src \ ClrFacade \ ClrFacade.cs: satır 316' – Artiga