First of all, I have no experience in R. I have to publish an app @ Shiny. Everything goes well until the publishing. It was published but when I try to access I receive the following error:
An error has occurred
The application failed to start (exited with code 1).
Error in value[[3L]](cond) : app.R did not return a shiny.appobj object. Calls: local ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous> Execução interrompida
# Define a interface do usuário para o app que gera um histograma.
ui <- fluidPage(
# Título do app.
titlePanel("Meu primeiro Aplicativo Shiny no curso de Especialização em Big Data da Unisinos!"),
# Barra lateral com as definições do input e do output.
sidebarLayout(
# Barra lateral para os inputs.
sidebarPanel(
# Input: número de classes do histograma.
sliderInput(inputId = "classes",
label = "Defina o número de classes do histograma:",
min = 1,
max = 30,
value = 10)
),
# Painel principal para mostrar os outputs.
mainPanel(
# Output: Histograma
plotOutput(outputId = "distPlot")
)
)
)
# Código com a função server:
# Define o código para a construção do histograma.
server <- function(input, output) {
# Função que gera o histograma e devolve para o user side.
# O histograma vai mudar sempre que o valor do número de classes alterar.
output$distPlot <- renderPlot({
x <- iris$Sepal.Length
bins <- seq(min(x), max(x), length.out = input$classes + 1)
hist(x, breaks = bins, col = "#781E77", border = "white",
xlab = "Comprimento da Sépala",
main = "Histograma: comprimento da sépala em centímetros.")
})
}
# Código com a chamada para a função shinyApp
shinyApp(ui = ui, server = server)
You have to include library calls (i.e. library(shiny)) in your app.R file, have in mind that the app is going to be executed on a machine other than yours, so the packages you have loaded in your local environment are not going to be available there if you don't explicitly load them.
I just included the library(shiny) in the script. Same error.
library(shiny)
# Define a interface do usuário para o app que gera um histograma.
ui <- fluidPage(
# Título do app.
titlePanel("Meu primeiro Aplicativo Shiny no curso de Especialização em Big Data da Unisinos!"),
# Barra lateral com as definições do input e do output.
sidebarLayout(
# Barra lateral para os inputs.
sidebarPanel(
# Input: número de classes do histograma.
sliderInput(inputId = "classes",
label = "Defina o número de classes do histograma:",
min = 1,
max = 30,
value = 10)
),
# Painel principal para mostrar os outputs.
mainPanel(
# Output: Histograma
plotOutput(outputId = "distPlot")
)
)
)
# Código com a função server:
# Define o código para a construção do histograma.
server <- function(input, output) {
# Função que gera o histograma e devolve para o user side.
# O histograma vai mudar sempre que o valor do número de classes alterar.
output$distPlot <- renderPlot({
x <- iris$Sepal.Length
bins <- seq(min(x), max(x), length.out = input$classes + 1)
hist(x, breaks = bins, col = "#781E77", border = "white",
xlab = "Comprimento da Sépala",
main = "Histograma: comprimento da sépala em centímetros.")
})
}
# Código com a chamada para a função shinyApp
shinyApp(ui = ui, server = server)