Блестящее приложение не загружается должным образом - PullRequest
0 голосов
/ 11 июня 2018

Когда я запускаю свое блестящее приложение в RStudio, оно отлично работает, вот изображение: propershiny

Но когда я загружаю его, оно отображает только список стран (в оченьпростой способ без отзывчивости) вот ссылка: https://alinapod.shinyapps.io/gendercomposition/ для проверки.

Мой код:

ui <- fluidPage(

  sidebarLayout(

    sidebarPanel(

      selectInput(inputId = "ctry",
                  label = "Select countries:",
                  choices = levels(x$country),
                  selected = "Switzerland",
                  multiple = TRUE),

      sliderInput(inputId = "year", 
                  label = "Year:", 
                  min = 1996, max = 2016, 
                  value = 1996,
                  step = 1, animate = TRUE)

    ),

    mainPanel(
      plotOutput(outputId = "scatterplot", height = 600),
      dataTableOutput(outputId = "datatable")

    )

  )

)

server <- function(input,output){

  output$scatterplot <- renderPlot({

    ggplot(data = filter(x, year == input$year & country %in% input$ctry), 
           aes_string(x = "female", y = "male", color = "region", size = "total_population")) +
      geom_point() +
      geom_text(data = filter(x, year == input$year & country %in% input$ctry),
                aes(label = country), color = "black", size = 4.5, hjust = 0, vjust = -1.5) +
      scale_color_manual("Regions", labels = c("AF" = "Africa", "ASIA" = "Asia", "AUS" = "Australia",
                                               "EUR" = "Europe", "LATAM" = "Latin America",
                                               "ME" = "Middle East", "NORAM" = "North America"),
                         values = c("AF" = "aquamarine3","ASIA" = "firebrick1", "AUS" = "darkorange2",
                                    "EUR" = "dodgerblue3", "LATAM" = "forestgreen",
                                    "ME" = "goldenrod1", "NORAM" = "dodgerblue4")) +
      scale_size_continuous("",labels = NULL, breaks = NULL, range = c(2,15)) +
      ggtitle("Gender Composition") +
      xlab(paste("Female Percentage")) +
      ylab(paste("Male"))  +
      scale_x_continuous(breaks = seq(0,80,10), limits = c(0,80)) + 
      scale_y_continuous(breaks = seq(0,80,10), limits = c(0,80)) 

  })

  output$datatable <- DT::renderDataTable({

    req(input$ctry)
    selected_countries <- select(filter(x, year == input$year & country %in% input$ctry),
                                 country, female, male, total_population)
    DT::datatable(data = selected_countries, 
                  rownames = FALSE)


  })


}

shinyApp(ui = ui, server = server)

И то же самое происходит, даже когда я загружаю образец блестящего приложения огейзеры.Понятия не имею, что здесь происходит.

1 Ответ

0 голосов
/ 11 июня 2018

Просто ваш скрипт R загружает данные явно и не полагается на объекты, предварительно загруженные в глобальную среду.Нет, где x используется в renderPlot или renderDataTable, назначенных или загруженных пользователем.Вы можете прочитать данные над вызовами ui и server, чтобы избежать повторного назначения:

library(shiny)
library(DT)
library(dplyr)
library(ggplot2)

x <- read.csv('mydata.csv')
# x <- readRDS("mydata.rds")

ui <-  ...
server <- ...

shinyApp(ui = ui, server = server)

. Обязательно отметьте данные с помощью сценария R при передаче из RStudio в ShinyApps.io.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...