0
我想在我的Rmarkdown中顯示一個在網絡間切換的基本Shiny dygraph。下面是數據的一個樣本:在Shiny應用中過濾xts對象
> head(df)
nightTrips dayTrips network
2014-05-03 0 16 1
2014-05-04 0 5 1
2014-05-05 0 8 1
2014-05-06 0 3 1
2014-05-07 0 0 1
2014-05-08 0 3 1
> nrow(df)
[1] 2239
如果我子集數據幀df
其中network=1
,我可以成功地呈現dygraph與一個單一的網絡:
> head(test)
nightTrips dayTrips
2014-05-03 0 16
2014-05-04 0 5
2014-05-05 0 8
2014-05-06 0 3
2014-05-07 0 0
2014-05-08 0 3
dygraph(test, main = "Network1") %>%
dySeries("nightTrips", label = "Night Trips") %>%
dySeries("dayTrips", label = "dayTrips") %>%
dyOptions(stackedGraph = FALSE) %>%
dyRangeSelector(height = 20)
但是,當我綁定我的數據到一個數據幀,添加一個額外的列netowrk
指定的網絡,將其轉換爲XTS對象,並嘗試啓動一個閃亮的服務器 - 我得到一個錯誤,一個過濾器不能被應用到XTS對象:
是否有解決此問題的已知解決方法? 下面是內嵌閃亮應用程序的代碼:
```{r, echo = FALSE}
shinyApp(
ui = fluidPage(
titlePanel("Sample Timeseries"),
sidebarLayout(
sidebarPanel(
uiOutput("networknames")
),
mainPanel(
dygraphOutput("networksgraph"))
)
),
server = function(input, output) {
data <- df
data <- as_xts(data, date_col = day)
output$networksgraph <- renderDygraph({
if (is.null(input$networkname)) return (NULL)
filtered <- filter(data,
network == intput$networkname) %>%
dygraph()
})
output$networknames <- renderUI({
selectInput("networkname", "Select your Network",
choices = c(1,2,3))
})
}
)
```
爲什麼要將整個數據幀轉換爲xts?看起來'data $ network'應該繼續是數字。 –