【问题标题】:Error in Shiny deployment on shinyapps.ioShinyapps.io 上的 Shiny 部署错误
【发布时间】:2018-06-28 01:53:35
【问题描述】:

我有一个在我的 PC 上运行良好的 Shiny 应用程序,但是一旦我在 shinyapps.io 上进行部署,它就会在网络浏览器上显示以下错误:

部署控制台出现以下错误:

Warning message:
In value[[3L]](cond) :
  Failed to parse 
C:/Users/david.jorquera/AppData/Local/Temp/RtmpSOqdYV/file13849671673/app.R 
; dependencies in this file will not be discovered.

如果您需要我正在使用的确切 excel 文件,如果您告诉我该怎么做,我会很乐意附上它(抱歉,还没有弄清楚)。 这是用户界面:

library(shiny)
library(ggplot2)
library(dplyr)
library(readxl)

EPA <- read_excel("data/EPA.xlsx")


ui <- fluidPage(titlePanel(img(src = 'logo-escudo-rojo.jpg', height=100, 
width=150)),
            titlePanel("Dirección de Análisis Institucional"),

sidebarLayout(
sidebarPanel(selectInput("facultad", h4("Seleccione Facultad o Total UDP"),
                     choices=c("Arquitectura, Arte y Diseño",
                                  "Ciencias Sociales e Historia",
                                  "Comunicación y Letras",
                                  "Derecho",
                                  "Economía y Empresa",
                                  "Educación",
                                  "Ingeniería y Ciencias", 
                                  "Medicina",
                                  "Psicología",
                                  "Salud y Odontología",
                                  "Total UDP")),
conditionalPanel(condition = "input.facultad=='Arquitectura, Arte y 
Diseño'",
             selectInput("faad", h4("Seleccione carrera o Total Facultad"),
                          choices=c("Arquitectura",
                                       "Artes Visuales",
                                       "Diseño",
                                       "Facultad de Arquitectura, Arte y Diseño"), selected="Arquitectura")),
conditionalPanel(condition = "input.facultad=='Ciencias Sociales e Historia'",
             selectInput("fcsh", h4("Seleccione carrera o Total Facultad"),
                          choices=c("Bachillerato en Ciencias Sociales y Humanidades",
                                       "Ciencia Política",
                                       "Historia",
                                       "Sociología",
                                       "Facultad de Ciencias Sociales e Historia"), selected="Bachillerato en Ciencias Sociales y Humanidades")),
conditionalPanel(condition = "input.facultad=='Comunicación y Letras'",
             selectInput("fcyl", h4("Seleccione carrera o Total Facultad"),
                          choices=c("Literatura Creativa",
                                       "Periodismo",
                                       "Publicidad",
                                       "Facultad de Comunicación y Letras"))),
conditionalPanel(condition = "input.facultad=='Economía y Empresa'",
             selectInput("fee", h4("Seleccione carrera o Total Facultad"),
                          choices=c("Ingeniería Comercial",
                                       "Ingeniería en Control de Gestión",
                                       "Contador Auditor-Contador Público 
(D)",
                                       "Facultad de Economía y Empresa"))),
conditionalPanel(condition = "input.facultad=='Educación'",
             selectInput("fed", h4("Seleccione carrera o Total Facultad"),
                          choices=c("Pedagogía Básica",
                                       "Pedagogía Parvularia",
                                       "Pedagogía en Educación Diferencial",
                                       "Pedagogía en Inglés",
                                       "Pedagogía Media en Lenguaje y 
Comunicación",
                                       "Pedagogía Media en Historia y 
Ciencias Sociales",
                                       "Facultad de Educación"))),
conditionalPanel(condition = "input.facultad=='Ingeniería y Ciencias'",
             selectInput("fing", h4("Seleccione carrera o Total Facultad"),
                          choices=c("Ingeniería Civil Plan Común",
                                       "Ingeniería Civil Industrial",
                                       "Ingeniería Civil en Informática y 
Telecomunicaciones",
                                       "Ingeniería Civil en Obras Civiles",
                                       "Facultad de Ingeniería y 
Ciencias"))),
conditionalPanel(condition = "input.facultad=='Salud y Odontología'",
             selectInput("fsyod", h4("Seleccione carrera o Total Facultad"),
                          choices=c("Enfermería",
                                       "Kinesiología",
                                       "Odontología",
                                       "Obstetricia y Neonatología",
                                       "Tecnología Médica",
                                       "Facultad de Salud y 
Odontología")))),

  mainPanel(h4("Encuesta de Primer Año"),


plotOutput("grafico1"),
br(),
br(),
plotOutput("grafico2")


)
))

...这里是服务器

server <- function(input, output) {


base <- reactive ({

base <-   if(input$facultad == "Arquitectura, Arte y Diseño") {
      filter(EPA, Carrera==input$faad)}
   else 
     if(input$facultad == "Ciencias Sociales e Historia") {
     filter(EPA, Carrera==input$fcsh)}
   else
     if(input$facultad == "Comunicación y Letras") {
   filter(EPA, Carrera==input$fcyl)}  
   else
     if(input$facultad == "Derecho") {
       filter(EPA, Carrera == "Facultad de Derecho")}
    else
   if(input$facultad == "Economía y Empresa") {
     filter(EPA, Carrera == input$fee)}
   else
   if(input$facultad == "Educación") {
     filter(EPA, Carrera == input$fed)}
 else
   if(input$facultad == "Ingeniería y Ciencias") {
     filter(EPA, Carrera == input$fing)}
 else
   if(input$facultad == "Medicina") {
     filter(EPA, Carrera == "Facultad de Medicina")}
 else
   if(input$facultad == "Psicología") {
     filter(EPA, Carrera == "Facultad de Psicología")}
 else
   if(input$facultad == "Salud y Odontología") {
     filter(EPA, Carrera == input$fsyod)}


  }) 


  output$grafico1 <- renderPlot({

datos <- base()

    ggplot(datos, aes(Año, EPA_T_2, label=paste(round(EPA_T_2*100, 0), "%", 
sep="")))  + 
      geom_col(aes(y = EPA_T_2)) + 
      scale_x_continuous(name = "Cohorte de Ingreso", 
                         breaks = seq(min(datos[[4]]), max(datos[[4]]), 1)) 
+
      scale_y_continuous(name = "% de Estudiantes encuestados", labels = 
scales::percent) +
      geom_text(position = position_stack(vjust=0.5), size=5) +
      ggtitle("Tasa de Respuesta Encuesta de Primer Año") + 
theme(plot.title=
           element_text(color="#666666", face="bold", size=20, hjust=0.5))

  })



output$grafico2 <- renderPlot({

datos <- base()

ggplot(datos, aes(Año, EPA_T_1_OK, label=EPA_T_1_OK)) +
  geom_col(aes(y = EPA_T_1_OK)) +
  scale_x_continuous(name = "Cohorte de Ingreso", 
                     breaks = seq(min(datos[[4]]), max(datos[[4]]), 1)) +
  scale_y_continuous(name = "N° de Estudiantes encuestados", breaks = 
seq(min(0), max(datos[[6]]+10), 20)) +
  geom_text(position = position_stack(vjust=0.5), size=5) +
  ggtitle("Número de Estudiantes Encuestados") + theme(plot.title=
          element_text(color="#666666", face="bold", size=20, hjust=0.5))


})  

  }

shinyApp(ui = ui, server = server)

我之前看到过这个问题,一个解决方案是用require() 替换library(),但这并没有解决问题。

【问题讨论】:

  • 闻起来像编码问题。见github.com/rstudio/packrat/issues/285
  • 它的你;重新库问题,我与 Rcpp 混淆了。所以我重新安装了 R 和 Shiny Server,并且只以超级用户的身份安装了软件包
  • 以上都不是。我尝试了不同的编码,并在另一台具有超级用户配置文件的计算机上进行了尝试。 shinyapps 指南上的示例应用程序(带有旧的忠实数据)上传正常,所以我不知道它可能是什么!我输了!!

标签: r ggplot2 shiny shinyapps


【解决方案1】:

在尝试了几天不同的解决方案后,事实证明这是一个与编码有关的问题。然而,解决方案不是在代码中尝试编码规范(我尝试使用 UTF-8 保存我的应用程序和我的数据库,使用enc2utf8() 和其他相关功能;重新访问此网页上的类似问题等)。 最后,事实证明服务器正在调用数据库中充满特殊字符(主要是 ñ 和重音符号)的值。所以解决方案是替换那些调用值而不是字符串的调用。我只希望有人能早点告诉我!但无论如何,生活和学习。

【讨论】:

  • 太棒了!我很沮丧。我的问题是我在 expression() 函数中使用了重音符号。我所做的是用接收字符串的latex2exp::TeX() 函数替换它。另外,我在输出和输入中使用了内部变量,例如output$gráfica,它通过替换output$graficaoutput$`gráfica`来工作
猜你喜欢
  • 2020-03-25
  • 1970-01-01
  • 2015-06-27
  • 2017-09-05
  • 2022-01-18
  • 2019-03-06
  • 2015-07-22
  • 1970-01-01
  • 2019-05-18
相关资源
最近更新 更多