Me gustaría utilizar una API de R que solo está disponible en .NET. ¿Existe un método estándar que pueda usarse para llamar al código .NET C# de R? Si es así, ¿cómo puedo hacerlo?Llamar .NET/C# desde R
Respuesta
Otra opción que los lectores de esta discusión podrían considerar es el rClr package, en el que he estado trabajando durante un par de años para acceder al código .NET arbitrario de R. Es un hermano de R.NET que, a la inversa, es una forma para acceder a R desde .NET.
para dar un sabor del paquete CRAI, la canónica "Hello World" se parece a:
library(rClr)
clrLoadAssembly('c:/path/to/myassembly.dll')
myObj <- clrNew('MyNamespace.MyClass,MyAssemblyName')
clrCall(myObj, 'SayHelloWorld')
Retroalimentación y recepción de las sugerencias a través del sitio web.
Exponer .NET dll como COM dll y llamar a un objeto COM en el dll desde R parece ser la única forma. Y hay un paquete para él: http://cran.r-project.org/web/packages/rcom/rcom.pdf
Si no puede hacer un dll COM porque es dll de terceros, siempre puede crear una nueva interfaz dll de .NET con interfaz COM donde puede llamar dll real.
Para obtener una lista de los ProgID en el sistema, consulte http://procbits.com/2010/11/08/get-all-progid-on-system-for-com-automation/ – Contango
- 1. Llamar a Stata Functions desde R
- 2. Llamar a funciones R desde VC++
- 3. ¿Cómo llamar a R desde un servidor web (como Apache)?
- 4. Llamar R traza desde C++ usando RInside/Rcpp
- 5. R desde dentro de Java
- 6. Ejecutar R desde Dropbox
- 7. Llamando a Clojure desde dentro de R?
- 8. Llamar javascript desde el servidor en postback
- 9. Llamar a funciones Java desde R usando RProtoBuf (Buffers de protocolo)
- 10. Llamar a .jar desde ColdFusion
- 11. Llamar a gnuplot desde python
- 12. Llamar a href desde JavaScript
- 13. llamar a Java desde Clojure
- 14. ¿Llamar a Java desde MATLAB?
- 15. Llamar código fortran desde C#
- 16. Llamar a Python desde C++
- 17. llamar a Java desde PHP
- 18. Llamar a Java desde Python
- 19. Llamar a Python desde Ruby
- 20. Run R script desde Powershell
- 21. accediendo a R desde SAS
- 22. ESS para llamar a diferentes instalaciones de R
- 23. ¿Llamar a startActivity() desde fuera de una actividad?
- 24. llamando al script R desde java
- 25. Llamar a RNGCrypto desde clase DOTNET de COM desde PHP
- 26. ¿Llamar al código de Scala desde Java?
- 27. llamar a Java desde PHP exec
- 28. Llamar SQL dinámico desde la función
- 29. ¿Llamar a la función PHP desde url?
- 30. Android para llamar desde un número virtual
Vaya, lo descargué y funcionó absolutamente perfectamente !! Este paquete es simplemente increíble, espero usarlo mucho en el futuro. Sigan con el buen trabajo! – Contango
¿Alguien tiene un ejemplo específico simple del código anterior? – Artiga
'library (rClr) clrLoadAssembly ('C: \\ __ \\ TstingRLib \\ ClassLibrary1 \\ bin \\ Release \\ ClassLibrary1.dll') yObj <- clrNew ('System.System.Text, System') Tipo no encontrado: System.System.Text, Sistema Error en clrNew ("System.System.Text, System"): Tipo: System.ArgumentException Mensaje: No se pudo determinar el tipo desde la cadena 'System.System.Text, Sistema ' Método: System.Object CreateInstance (System.String, System.Object []) Seguimiento de pila: en Rclr.ClrFacade.CreateInstance (String typename, Object [] arguments) en ___ \ AppData \ Local \ Temp \ Rtmp2D63Nz \ R.INSTALL1f3c2a50350 \ rClr \ src \ ClrFacade \ ClrFacade.cs: línea 316 – Artiga