2016-11-19 3 views
1

Alles funktioniert fine, wenn ich die glänzende App lokal ausführe. Allerdings, wenn ich es bereitstellen, erhalte ich einen Fehler, der sagt "Warnung: Fehler in: Gefundenes Objekt ist keine Position." und the app funktioniert nicht. Ich habe alles versucht, einschließlich der Erstellung einer globalen.R-Datei, das Lesen der Daten in ui usw. Es ist jedoch immer noch dasselbe. Danke für die Hilfe. HierR Shiny - Fehler: "Gefundenes Objekt ist keine Position"

ist der Code:

server.R

library(shiny) 
library(ggplot2) 
grindelwald_data <- readRDS("data/data.rds") 
server <-shinyServer(
function(input, output,session) { 

grindelwald_data$Date<-as.Date(grindelwald_data$Date, format="%d/%m/%Y") 
grindelwald_data$Month <- as.factor(format(as.Date(grindelwald_data$Date),"%m")) 
grindelwald_data$Year <- format(grindelwald_data$Date,format="%Y") 

annual_mean_precipitation<-aggregate(Precipitation ~ Year , grindelwald_data , sum) 
annual_mean_temperature<-aggregate(Temperature ~ Year , grindelwald_data , mean) 
annual_mean_discharge<-aggregate(Discharge ~ Year , grindelwald_data , mean) 
annual_mean_discharge<-annual_mean_discharge[!(annual_mean_discharge$Discharge<5),] 

output$value <- renderPrint({ input$radio }) 



output$distPlot <- renderPlot({ 
    dist <- switch(input$dist, 
       "1" = annual_mean_precipitation$Precipitation, 
       "2" = annual_mean_temperature$Temperature, 
       "3" = annual_mean_discharge$Discharge 
) 

    x <- dist  
    # draw the histogram with the specified number of bins 
    switch(input$dist, 
     "1" = updateSliderInput(session, "bins", min=1,max=100,step= 1), 
     "2" = updateSliderInput(session, "bins",min=0.01,max=0.7,step= 0.01), 
     "3" = updateSliderInput(session, "bins",min=0.01,max=2,step= 0.01) 
) 

    switch(input$dist, 
     "1" = ggplot(annual_mean_precipitation, aes(x=x))+ 
      geom_histogram(aes(y=..density..),binwidth=input$bins,colour="white", fill="#56B4E9") + 
      geom_density(alpha=.2,colour="#CC79A7",size=1, fill="#FF6666")+ 
      labs(title="Histogram of the Annual Mean Precipitation with Density",x="Precipitation (mm)",y="Density"), 

     "2" = ggplot(annual_mean_temperature, aes(x=x))+ 
      geom_histogram(aes(x=x,y=..density..),binwidth=input$bins,colour="white", fill="#F0E442") + 
      geom_density(alpha=.2,colour="#CC79A7",size=1, fill="#FF6666")+ 
      labs(title="Histogram of the Annual Mean Temperature with Density",x="Temperature (C)",y="Density"), 
     "3" = ggplot(annual_mean_discharge, aes(x=x))+ 
      geom_histogram(aes(x=x,y=..density..),binwidth=input$bins,colour="white", fill="#0072B2") + 
      geom_density(alpha=.2,colour="#CC79A7",size=1, fill="#FF6666")+ 
      labs(title="Histogram of the Annual Mean Discharge with Density",x="Discharge (m3/s)",y="Density") 
    ) 
    }) 

} 
) 

ui.R

ui<-fluidPage(
# Application title 
titlePanel("Histogram-Luetschine River"), 
radioButtons("dist", label = "", 
      choices = list("Precipitation" = 1, "Temperature" = 2, "Discharge" = 3), 
      selected = 1), 


sidebarLayout(
sidebarPanel(
    sliderInput("bins", 
       "Number of Bins:", 
       min = 1, 
       max = 100, 
       value = 17) 
), 


mainPanel(
    plotOutput("distPlot") 
) 
) 
) 
+0

Ihre Optionsfelder geben Ihnen einen numerischen Wert, aber Ihr Switch hat die angegebenen Zahlen als Zeichen. Was passiert, wenn Sie entweder die Radio Button-Werte angeben oder den Schalter aufheben? –

+0

Es gibt mir den gleichen Fehler, wenn ich sie ändere. Ich dachte, dass es darum ging, die rds-Datei hochzuladen, aber ich kann die Datei auf dem Server von glowapps sehen. – nsfrt

+0

Hat der Ordner eine rds-Datei mit dem Namen 'data' auf dem Server glowapps? (nur um sicher zu sein) – cuttlefish44

Antwort

0

die Dichte Plot in Histogramm stellte sich heraus, verursacht den Fehler. Es funktioniert gut ohne das Dichtediagramm.