Skip to content

[R-es] problema con shiny

17 messages · Carlos J. Gil Bellosta, Jesús Para Fernández, Juan Antonio Gil Pascual +1 more

#
Estimados compañeros tengo un problema con shiny. Es un problema local de mi ordenador, porque en otro va si problemas pero no consigo saber ¿cómo arreglarlo?. He instalado incluso la nueva versión de Rstudio. Os explico:

1) lanzo el programa app.R, el ejemplo de shiny e intenta mostrar los resultados pero si hago: print(environment(show)) da como resultado

Error in func(fname, ...) : app.R did not return a shiny.appobj object.

pero he mirado en internet el error y no consigo descifrar el problema.

¿Qué puede ser?


Saludos,

Juan



--
Juan Antonio Gil Pascual
Matemático, estadístico, especialista en Text Mining
correo: jmat1 en telefonica.net<mailto:jmat1 en telefonica.net>
web: www.jgil.acta.es<http://www.jgil.acta.es>

AVISO LEGAL. Este mensaje puede contener informació...{{dropped:16}}
#
Hola, ¿qué tal?

Sin ver el código, es difícil de diagnosticar. Si funcionaba en otro
ordenador, todavía más.

Buscando ese error por internet decía que puede ocurrir si se ejecuta la
app desde un directorio que no es el de trabajo. Es raro, pero si, como
dices, en otro ordenador funcionaba... Pero es puramente especulativo.

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com



El dom., 4 mar. 2018 a las 19:18, Juan Antonio Gil (<jgil en edu.uned.es>)
escribió:

  
  
#
Carlos el código es el ejemplo de shiny:

#
# This is a Shiny web application. You can run the application by clicking
# the 'Run App' button above.
#
# Find out more about building applications with Shiny here:
#
#    http://shiny.rstudio.com/
#

#setwd("C:/curso 2017-18/curso R/shiny/prueba1")
library(shiny)

# Define UI for application that draws a histogram
ui <- fluidPage(

   # Application title
   titlePanel("Old Faithful Geyser Data"),

   # Sidebar with a slider input for number of bins
   sidebarLayout(
      sidebarPanel(
         sliderInput("bins",
                     "Number of bins:",
                     min = 1,
                     max = 50,
                     value = 30)
      ),

      # Show a plot of the generated distribution
      mainPanel(
         plotOutput("distPlot")
      )
   )
)

# Define server logic required to draw a histogram
server <- function(input, output) {

   output$distPlot <- renderPlot({
      # generate bins based on input$bins from ui.R
      x    <- faithful[, 2]
      bins <- seq(min(x), max(x), length.out = input$bins + 1)

      # draw the histogram with the specified number of bins
      hist(x, breaks = bins, col = 'darkgray', border = 'white')
   })
}

# Run the application
shinyApp(ui = ui, server = server)
print(environment(show))


El código funciona en otro ordenador con windows 10 con R de 32 bits. Donde no funciona es R de 64 bits
Respecto al directorio no es el problema, está probado.

Saludos,

Juan


El 04/03/2018 a las 19:48, Carlos J. Gil Bellosta escribió:
Hola, ¿qué tal?

Sin ver el código, es difícil de diagnosticar. Si funcionaba en otro ordenador, todavía más.

Buscando ese error por internet decía que puede ocurrir si se ejecuta la app desde un directorio que no es el de trabajo. Es raro, pero si, como dices, en otro ordenador funcionaba... Pero es puramente especulativo.

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com



El dom., 4 mar. 2018 a las 19:18, Juan Antonio Gil (<jgil en edu.uned.es<mailto:jgil en edu.uned.es>>) escribió:
Estimados compañeros tengo un problema con shiny. Es un problema local de mi ordenador, porque en otro va si problemas pero no consigo saber ¿cómo arreglarlo?. He instalado incluso la nueva versión de Rstudio. Os explico:

1) lanzo el programa app.R, el ejemplo de shiny e intenta mostrar los resultados pero si hago: print(environment(show)) da como resultado

Error in func(fname, ...) : app.R did not return a shiny.appobj object.

pero he mirado en internet el error y no consigo descifrar el problema.

¿Qué puede ser?


Saludos,

Juan



--
Juan Antonio Gil Pascual
Matemático, estadístico, especialista en Text Mining
correo: jmat1 en telefonica.net<mailto:jmat1 en telefonica.net><mailto:jmat1 en telefonica.net<mailto:jmat1 en telefonica.net>>
web: www.jgil.acta.es<http://www.jgil.acta.es><http://www.jgil.acta.es>

AVISO LEGAL. Este mensaje puede contener informació...{{dropped:30}}
#
Corre perfectamente en mi máquina si borro la última línea (
print(environment(show))).

Simplemente, he creado un directorio vacío (/tmp/prueba), he copiado el
código (menos esa última línea) en el fichero /tmp/prueba/app.R. En una
sesión de R he hecho

library(shiny)
runApp("/tmp/prueba")

Y ha funcionado perfectamente.

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com

El dom., 4 mar. 2018 a las 19:57, Juan Antonio Gil (<jgil en edu.uned.es>)
escribió:

  
  
#
De acuerdo Carlos pero en mi ordenador no funciona y me da el error que he comentado.

Muchas gracias por tu colaboración.

Saludos,

Juan


El 04/03/2018 a las 20:09, Carlos J. Gil Bellosta escribió:
Corre perfectamente en mi máquina si borro la última línea (print(environment(show))).

Simplemente, he creado un directorio vacío (/tmp/prueba), he copiado el código (menos esa última línea) en el fichero /tmp/prueba/app.R. En una sesión de R he hecho

library(shiny)
runApp("/tmp/prueba")

Y ha funcionado perfectamente.

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com

El dom., 4 mar. 2018 a las 19:57, Juan Antonio Gil (<jgil en edu.uned.es<mailto:jgil en edu.uned.es>>) escribió:

Carlos el código es el ejemplo de shiny:

#
# This is a Shiny web application. You can run the application by clicking
# the 'Run App' button above.
#
# Find out more about building applications with Shiny here:
#
#    http://shiny.rstudio.com/
#

#setwd("C:/curso 2017-18/curso R/shiny/prueba1")
library(shiny)

# Define UI for application that draws a histogram
ui <- fluidPage(

   # Application title
   titlePanel("Old Faithful Geyser Data"),

   # Sidebar with a slider input for number of bins
   sidebarLayout(
      sidebarPanel(
         sliderInput("bins",
                     "Number of bins:",
                     min = 1,
                     max = 50,
                     value = 30)
      ),

      # Show a plot of the generated distribution
      mainPanel(
         plotOutput("distPlot")
      )
   )
)

# Define server logic required to draw a histogram
server <- function(input, output) {

   output$distPlot <- renderPlot({
      # generate bins based on input$bins from ui.R
      x    <- faithful[, 2]
      bins <- seq(min(x), max(x), length.out = input$bins + 1)

      # draw the histogram with the specified number of bins
      hist(x, breaks = bins, col = 'darkgray', border = 'white')
   })
}

# Run the application
shinyApp(ui = ui, server = server)
print(environment(show))


El código funciona en otro ordenador con windows 10 con R de 32 bits. Donde no funciona es R de 64 bits
Respecto al directorio no es el problema, está probado.

Saludos,

Juan



El 04/03/2018 a las 19:48, Carlos J. Gil Bellosta escribió:
Hola, ¿qué tal?

Sin ver el código, es difícil de diagnosticar. Si funcionaba en otro ordenador, todavía más.

Buscando ese error por internet decía que puede ocurrir si se ejecuta la app desde un directorio que no es el de trabajo. Es raro, pero si, como dices, en otro ordenador funcionaba... Pero es puramente especulativo.

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com



El dom., 4 mar. 2018 a las 19:18, Juan Antonio Gil (<jgil en edu.uned.es<mailto:jgil en edu.uned.es>>) escribió:
Estimados compañeros tengo un problema con shiny. Es un problema local de mi ordenador, porque en otro va si problemas pero no consigo saber ¿cómo arreglarlo?. He instalado incluso la nueva versión de Rstudio. Os explico:

1) lanzo el programa app.R, el ejemplo de shiny e intenta mostrar los resultados pero si hago: print(environment(show)) da como resultado

Error in func(fname, ...) : app.R did not return a shiny.appobj object.

pero he mirado en internet el error y no consigo descifrar el problema.

¿Qué puede ser?


Saludos,

Juan



--
Juan Antonio Gil Pascual
Matemático, estadístico, especialista en Text Mining
correo: jmat1 en telefonica.net<mailto:jmat1 en telefonica.net><mailto:jmat1 en telefonica.net<mailto:jmat1 en telefonica.net>>
web: www.jgil.acta.es<http://www.jgil.acta.es><http://www.jgil.acta.es>

AVISO LEGAL. Este mensaje puede contener informació...{{dropped:16}}

_______________________________________________
R-help-es mailing list
R-help-es en r-project.org<mailto:R-help-es en r-project.org>
https://stat.ethz.ch/mailman/listinfo/r-help-es


--
Juan Antonio Gil Pascual
Matemático, estadístico, especialista en Text Mining
correo: jmat1 en telefonica.net<mailto:jmat1 en telefonica.net>

web: www.jgil.acta.es<http://www.jgil.acta.es>

AVISO LEGAL. Este mensaje puede contener información reservada y confidencial. Si usted no es el destinatario no está autorizado a copiar, reproducir o distribuir este mensaje ni su contenido. Si ha recibido este mensaje por error, le rogamos que lo notifique al remitente.
Le informamos de que sus datos personales, que puedan constar en este mensaje, están incorporados a un fichero titularidad de la UNED cuya finalidad es la de mantener el contacto con usted. En cualquier momento podrá ejercer sus derechos de acceso, rectificación, cancelación y oposición ante la UNED, Departamento de Política Jurídica de Seguridad de la Información<http://portal.uned.es/portal/page?_pageid=93,24432769,93_24432770&_dad=portal&_schema=PORTAL>, o a través de la Sede electrónica<https://sede.uned.es/> de la Universidad.


--
Juan Antonio Gil Pascual
Matemático, estadístico, especialista en Text Mining
correo: jmat1 en telefonica.net<mailto:jmat1 en telefonica.net>
web: www.jgil.acta.es<http://www.jgil.acta.es>

AVISO LEGAL. Este mensaje puede contener información reservada y confidencial. Si usted no es el destinatario no está autorizado a copiar, reproducir o distribuir este mensaje ni su contenido. Si ha recibido este mensaje por error, le rogamos que lo notifique al remitente.
Le informamos de que sus datos personales, que puedan constar en este mensaje, están incorporados a un fichero titularidad de la UNED cuya finalidad es la de mantener el contacto con usted. En cualquier momento podrá ejercer sus derechos de acceso, rectificación, cancelación y oposición ante la UNED, Departamento de Política Jurídica de Seguridad de la Información<http://portal.uned.es/portal/page?_pageid=93,24432769,93_24432770&_dad=portal&_schema=PORTAL>, o a través de la Sede electrónica<https://sede.uned.es/> de la Universidad.
#
Hola Juan.

La verdad es que no te puedo dar una solución directa a tu problema pero tu enunciado me plantea algunas dudas (y quién sabe si eso puede llevarte a alguna parte).

Veamos... Tienes un fichero app.R que ejecutas desde una instancia local de Shiny. Cuando usas un fichero app.R defines dos funciones (ui y server) y luego las lanzas con shinyApp(ui = ui, server = server). Lo que haces tú a mayores es incluir, despuès de la llamada a la app, una instrucción como esta: print(environment(show))
Mi pregunta es la siguiente: Dónde se está ejecutando esa instrucción?
De hecho,  mi pregunta es otra: Si tuvieras un Shiny montado como cliente/servidor en dos máquinas distintas y usaras (en vez de app.R) dos ficheros ui.R y server.R ... dónde pondrías esa instrucción? Dónde tendría que ejecutárse? En el cliente? En el servidor?

Ya sé que, en tu escenario, funciona.. pero no será porque esa instrucción se ejectuta localmente al hacer el break del shinyApp()  ¿?
Es eso lo que pretendes?


Un Saludo,
--
Miguel Ángel Rodríguez Muíños
Dirección Xeral de Saúde Pública
Consellería de Sanidade
Xunta de Galicia
http://dxsp.sergas.es
#
Nos puedes darmas informacion sobre tu sistema operativo??

Gracias
Jes?s

Obtener Outlook para Android<https://aka.ms/ghei36>
#
Hola Miguel-Ángel esa instrucción la he puesto para que no me haga el
break y se reinicie RStudio. Si quito esa instrucción y hago que se pase
la salida al wiewer panel de Rstudio me aparece el mismo error pero
además se aborta la sesión de RStudio y con la instrucción lo que cambia
es que no aborta la sesión.

Muchas gracias,


Juan



El 05/03/2018 a las 8:49, miguel.angel.rodriguez.muinos en sergas.es escribió:
--
Juan Antonio Gil Pascual
Matemático, estadístico, especialista en Text Mining
correo: jmat1 en telefonica.net
web: www.jgil.acta.es


AVISO LEGAL. Este mensaje puede contener información reservada y confidencial. Si usted no es el destinatario no está autorizado a copiar, reproducir o distribuir este mensaje ni su contenido. Si ha recibido este mensaje por error, le rogamos que lo notifique al remitente.
Le informamos de que sus datos personales, que puedan constar en este mensaje, están incorporados a un fichero titularidad de la UNED cuya finalidad es la de mantener el contacto con usted. En cualquier momento podrá ejercer sus derechos de acceso, rectificación, cancelación y oposición ante la UNED, Departamento de Política Jurídica de Seguridad de la Información<http://portal.uned.es/portal/page?_pageid=93,24432769,93_24432770&_dad=portal&_schema=PORTAL>, o a través de la Sede electrónica<https://sede.uned.es/> de la Universidad.
#
Jes?s ya lo dije es windows 10.

Saludos,

Juan


El 05/03/2018 a las 9:57, Jes?s Para Fern?ndez escribi?:
Nos puedes darmas informacion sobre tu sistema operativo??

Gracias
Jes?s

Obtener Outlook para Android<https://aka.ms/ghei36>
#
Bueno, aquí se nos juntan varias cosas....

En primer lugar, no es recomendable usar el viewer panel de RStudio (ni la ejecución en ventana); lo que se recomienda es realizar la ejecución "External" (es decir, lanzarlo al navegador por defecto). Hay muchas cosas que no te van a funcionar si no usas un navegador externo. No en este caso tan sencillo... aunque, si te fijas, cuando lo ejecutas contra el viewer panel te aparece el siguiente error:
        Listening on http://127.0.0.1:5615
        ERROR: [on_request_read] connection reset by peer
Y ese error no aparece contra el navegador.
Eso por una parte.

Por otra parte, el valor de print(environment(show)) aparece justo antes del error
        Listening on http://127.0.0.1:5615
        <environment: 0x000000000977ed20>
        Warning: Error in func: app.R did not return a shiny.appobj object.
        Stack trace (innermost first):
            1: runApp
        Error : app.R did not return a shiny.appobj object.
con lo cual consigues que se ejecute (porque estás trabajando con una instancia en local del server) pero el programa (y esto ya es interpretación mía) te está diciendo que no tiene ningún objeto que ejecutándolo en el servidor pueda hacerlo llegar al ui (user interface). Insisto en lo de antes: si tienes en servidor en Singapur y ejecutas tu ejemplo allí, qué crees que va a pasar con esa instucción? se ejecutará? en caso de hacerlo... te devolverá algo? Y si no usas un solo fichero app.R, sino dos (ui.R y server.R) ... dónde pretendes poner esa instrucción? en global.R?
Mi opinión es que no funcionará (sobre todo porque el cliente es un navegador, esa instrucción se ejecutaría en el servidor y no está asociada a un renderPrint que le pase el valor a un verbatimTextOutput o similar.
O sea, que tendrías que manejar algo similar a esto.....
         1.- En el "server" habría que incluir algo como esto
                      output$result<-renderPrint({environment(show)})
        2.- En el "ui" lo capturaríamos con un
                      verbatimTextOutput("result")

Y ya para finalizar... a qué te refieres cuando dices que se te "reinicia" y "aborta la sesión" el RStudio? Se cierra?

Un Saludo,
Miguel.
#
Muchas gracias Miguel-Ángel por tus explicaciones, pero empezando por el
final digo reinicia pero en realidad es que se aborta el proceso.
Independiente de la instrucción print la cuestión es que el programa en
mi ordenador aborta siempre de forma independiente que lo haga en wiewer
externa, interna o "medio-pensionista". Sin embargo en otro ordenador
que tengo con windows 10 y R de 32 bits el proceso siempre se realiza
satisfactoriamente. Pienso que es algo relacionado con el localhost pero
mis conocimientos de informática no "llegan a más".

Saludos,

Juan



El 05/03/2018 a las 12:30, miguel.angel.rodriguez.muinos en sergas.es escribió:
--
Juan Antonio Gil Pascual
Matemático, estadístico, especialista en Text Mining
correo: jmat1 en telefonica.net
web: www.jgil.acta.es


AVISO LEGAL. Este mensaje puede contener información reservada y confidencial. Si usted no es el destinatario no está autorizado a copiar, reproducir o distribuir este mensaje ni su contenido. Si ha recibido este mensaje por error, le rogamos que lo notifique al remitente.
Le informamos de que sus datos personales, que puedan constar en este mensaje, están incorporados a un fichero titularidad de la UNED cuya finalidad es la de mantener el contacto con usted. En cualquier momento podrá ejercer sus derechos de acceso, rectificación, cancelación y oposición ante la UNED, Departamento de Política Jurídica de Seguridad de la Información<http://portal.uned.es/portal/page?_pageid=93,24432769,93_24432770&_dad=portal&_schema=PORTAL>, o a través de la Sede electrónica<https://sede.uned.es/> de la Universidad.
#
Y si lo haces desde fuera de RStudio?

Es decir, desde la consola de R cargar la librería shiny y ejecutar el programa.

Digo, por intentar aislar el problema.
#
Muchas gracias Miguel-Ángel he probado la opción de la consola de R y
sigue el problema, en este caso intenta mostrar en la pantalla del
navegador la salida del programa pero se cierra R, supongo por tanto que
se aborta el proceso.

Saludos,

Juan



El 05/03/2018 a las 13:23, miguel.angel.rodriguez.muinos en sergas.es escribió:
--
Juan Antonio Gil Pascual
Matemático, estadístico, especialista en Text Mining
correo: jmat1 en telefonica.net
web: www.jgil.acta.es


AVISO LEGAL. Este mensaje puede contener información reservada y confidencial. Si usted no es el destinatario no está autorizado a copiar, reproducir o distribuir este mensaje ni su contenido. Si ha recibido este mensaje por error, le rogamos que lo notifique al remitente.
Le informamos de que sus datos personales, que puedan constar en este mensaje, están incorporados a un fichero titularidad de la UNED cuya finalidad es la de mantener el contacto con usted. En cualquier momento podrá ejercer sus derechos de acceso, rectificación, cancelación y oposición ante la UNED, Departamento de Política Jurídica de Seguridad de la Información<http://portal.uned.es/portal/page?_pageid=93,24432769,93_24432770&_dad=portal&_schema=PORTAL>, o a través de la Sede electrónica<https://sede.uned.es/> de la Universidad.
#
Shiny  nose puede ejecutar fuerade Rstudio
#
Hola Jes?s.


Creo que est?s equivocado.

Prueba a ejecutar esto desde la consola de R:
Un Saludo,
--
Miguel ?ngel Rodr?guez Mu??os
Direcci?n Xeral de Sa?de P?blica
Conseller?a de Sanidade
Xunta de Galicia
http://dxsp.sergas.es
#
Has probado a cambiar el puerto donde s e ejecuta?

app<- shinyApp(ui = ui, server = server)
runApp(app,port=22233)

Buscando tu error en google le echan la culpa al working directory, pero me parece rearo, la verdad..
#
Ah, pues pense que no se podia....

Estuve intentando una vez ejecutar un programa usando  R,y no me dejaba, alabrir Rstudio la cosa cambiaba...

Gracias Miguel ?ngel!
Jes?s