2012-04-10 13 views
19

Quiero visualizar algunas de mis calculos estadisticos en Ruby.La mejor manera de usar R en Ruby

Mi problema es que no puedo encontrar la joya adecuada para eso.

rsruby no parece estar actualizado y no puedo instalarlo en Ruby 1.9.2.

¿Conoces una forma de ejecutar los comandos R en Ruby?

+0

Rserve + http://rubygems.org/gems/rserve-simpler o http://opencpu.org/ – Hansi

+0

Buscar '[r] [rubíes]', esto ha sido respondida antes ... –

+0

Similar a http://stackoverflow.com/questions/9287265/r-statistical-package-gem-for-a-rails-application – Azolo

Respuesta

40

Acabo de ver esta publicación y pensé que debería comentar, ya que uso bastante la R bastante. Si vienes de un fondo R, la mejor joya que he encontrado es Rinruby. La razón por la que es fantástico es porque no interpreta los comandos en ruby, usa el código R real. Por ejemplo:

require "rinruby"  
#Set all your variables in Ruby 
n = 10 
beta_0 = 1 
beta_1 = 0.25 
alpha = 0.05 
seed = 23423 
R.x = (1..n).entries 
#Use actual R code to perform the analysis 
R.eval <<EOF 
    set.seed(#{seed}) 
    y <- #{beta_0} + #{beta_1}*x + rnorm(#{n}) 
    fit <- lm(y ~ x) 
    est <- round(coef(fit),3) 
    pvalue <- summary(fit)$coefficients[2,4] 
EOF 

En el sitio web Rinruby enumeré anteriormente, hay algunos ejemplos fantásticos para empezar. Espero que esto haya ayudado.

-Sean

+6

Sean, no te desanimes. ¿Crees que RinRuby es fantástico o no? –

+0

@sean, ¿hay alguna manera de generar los gráficos a través de la página web en lugar de mostrarlos en una ventana R? Estoy usando el ejemplo de Gettysburg del sitio web de la biblioteca para probar esto actualmente ... – daveomcd

+0

@daveomcd Ha pasado un tiempo ..., pero ¿no puedes simplemente renderizar en PNG como tu dispositivo gráfico en lugar de hacerlo en una ventana R y luego mostrar el PNG? – bigtunacan

3

Como se menciona en @Hansi, RServe es la mejor manera que he encontrado para ejecutar R de forma remota. Si está utilizando Ruby desde un contexto web especialmente, RServe puede ofrecerle algunos buenos beneficios.

Lo mejor de todo (en mi opinión), no se bloquea en ningún marco de programación, ya que hay clientes de RServe para una variedad de idiomas, incluyendo Java y C++. Al usar plataformas accesibles por la web, incluso puede mantener Rserve ejecutándose en un host diferente y enrutar el tráfico a través de TCP/IP para mayor seguridad.

Cuestiones relacionadas