2015-01-08 36 views
1

不可否認,我是一個新手使用閃亮,但我有一個奇怪的錯誤,似乎來自通過SERVER.R文件調用ggplot。奇怪的環境錯誤,使用ggplot2和閃亮的應用程序

的錯誤是Error in exists(name, envir = env, mode = mode) : argument "env" is missing, with no default

我做了一些搜索,發現大多數attrubuted有毛病ggplot規格錯誤的......但我無法找到的bug。

這裏是我的UI.R文件:

library(shiny) 
shinyUI(pageWithSidebar( 
headerPanel("Applications"), 
sidebarPanel(
dateRangeInput('dateRange', 
      label = 'Date range input: yyyy-mm-dd', 
      start = Sys.Date() - 6, end = Sys.Date() 
) 
), 
mainPanel(plotOutput("monthGraph")) 
)) 

這裏是我的SERVER.R文件:

library("shiny") 
library("RMySQL") 
library("ggplot2") 
#con <- dbConnect(MySQL(), host="***", port= 3306, user="***", password = "****", dbname="data") 
#query <- dbGetQuery(con, "select date(datetime_var) as date , value 
#from table 
#where value= 1") 

query <- data.frame(date=seq(as.Date("2014-01-01"), as.Date("2014-01-07"), 1), value=c(1:7)) 


shinyServer(function(input, output, session) { 

passData <- reactive({ 
query <- query[query$date %in% seq.Date(input$dateRange[1], input$dateRange[2], by="days"),] 
query 
}) 


output$monthGraph <- renderPlot({ 



graphData <- passData() 

theGraph <- ggplot(graphData, 
       aes(x=date)) + 
       geom_bar(stat="bin") + 
       ylab("Count") 

print(theGraph) 
}) 
}) 

所以,我試圖創建一個動態更新基於一個簡單的條形圖閃亮的應用用戶輸入爲dateRange ...

+0

這將有助於如果你包括一個[可重現的例子](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。由於我們無法訪問您的數據庫,因此我們無法運行代碼。如果錯誤不依賴於訪問數據庫,那麼在代碼中包含一個示例數據集。如果您共享的代碼是可運行的,那麼幫助您更容易,因此我們可以像您一樣重新創建完全相同的錯誤。你甚至包括'ggplot2'庫嗎? – MrFlick

+0

@MrFlick我沒有'ggplot2'調用 - 但它是在我的本地環境中調用的。我做了編輯。我還添加了一些複製錯誤的簡單雙層數據。這也在我編輯的文章中。任何幫助你可以借出將非常感激。 – gh0strider18

回答

1

當你有空的graphData時,你的錯誤被複制。我建議在graphData <- passData()之後加if (nrow(graphData)==0) return() 來解決你的問題。

相關問題