2010-02-28 28 views
5

¿Es posible ejecutar R en Processing a través de rJava/JRI? Si implementé una aplicación de procesamiento en la web, ¿el cliente necesitaría R en su sistema?¿Cómo usar R en el procesamiento a través de rJava/JRI?

Estoy buscando crear un tablero de información interactivo que pueda implementar en la web. Parece que Processing es probablemente mi mejor apuesta para la parte interactiva/web de las cosas. Desafortunadamente, no parece que haya muchas funciones matemáticas/estadísticas incorporadas. Y tampoco hay bibliotecas para trazar datos.

He estado usando R y gpplot2 durante unos meses y estoy encantado (asombrado) por la facilidad con que manipula y traza los datos.

Así que me pregunto ahora si puede obtener lo mejor de ambos mundos y ejecutar R a través de un subprograma de procesamiento.

Desde el sitio web JRI:

JRI es un Java/R interfaz, que permite ejecutar R en el interior de Java aplicaciones como un solo hilo. Básicamente, carga la biblioteca dinámica R en Java y proporciona una API Java para la funcionalidad R . Admite llamadas simples a funciones R y completo ejecutando REPL.

En un sentido JRI es la inversa de rJava y ambos se pueden combinar (es decir, que pueda ejecutar código R dentro JRI que devuelve la llamada a través de la JVM rJava). El proyecto JGR hace que el pleno uso de ambos JRI y rJava para proporcionar una interfaz gráfica de usuario completa Java para R.

JRI utiliza código nativo, pero soporta todas las plataformas en Java de Sun (o compatibles) está disponible, incluyendo Windows, Mac OS X, Sun y Linux (ambos de 32 bits y 64 bits).

Gracias por el consejo :)

Respuesta

2

se puede escribir código Java (o acceder a un archivo JAR) en el procesamiento? Si es así, entonces puedes hacer esto absolutamente. JRI proporciona una interfaz de bajo nivel para R y todavía tengo que encontrar algo en R que no pueda ejecutarse a través de sus funciones.

Vea this related question para un ejemplo simple de cómo usarlo.

No he usado Processing de otra manera que verlo algunas veces, pero entendí que tenía su propio lenguaje.

+0

Tiene su propio SYNTAX, pero es Java, bajo el capó. Se compila y se ejecuta en JVM, paquetes en JAR, etc. Su borde proporciona funciones de conveniencia para muchas operaciones de gráficos, por lo que no tiene que tratar directamente con Swing ni con ningún otro prims Java2D o Java3D. –

0

Otra opción es el uso de la biblioteca Incanter de Clojure. Es una biblioteca similar a R en Clojure, bastante rápido debido a la biblioteca numérica Parallel Colt (java pura), con soporte incorporado JFreeChart para gráficos rápidos, así como un contenedor para usar Processing through Clojure.

Podrías empujar la aplicación resultante a la web como un Applet Java normal (aunque probablemente sea bastante grande).

Cuestiones relacionadas