2017-09-12 11 views
0

Shinyアプリケーションのフィルタとして日付変数を使用していますが、コードが何も返さない理由を理解できません。 mydfのデータを事前処理しました(ここでは、問題が発生している変数で構成されています)。lubridateパッケージを使用しています。私はas.Dateas_dateなど、さまざまな方法を試してきましたが、成功はありませんでした。私は何が欠けていますか?以下Shinyアプリケーションの日付で正しくフィルタリングできない

コード:

library(shiny) 
library(dplyr) 

mydf <- structure(list(EndDate = structure(c(17345, 17344, 17343, 17341, 
           17341, 17340, 17340, 17339, 17339, 17339, 17339, 17339, 17339, 
           17338, 17338, 17338, 17338, 17338, 17338, 17338, 17338, 17338, 
           17338, 17338, 17338, 17338, 17338, 17338, 17338, 17338, 17337, 
           17337, 17337, 17337, 17337, 17337, 17337, 17337, 17337, 17337, 
           17336, 17336, 17336, 17336, 17335, 17335, 17335, 17335, 17335, 
           17335, 17335, 17335, 17334, 17334, 17334, 17334, 17334, 17334, 
           17334, 17334, 17334, 17333, 17333, 17333, 17333, 17333, 17333, 
           17333, 17333, 17333, 17333, 17333, 17333, 17333, 17333, 17333, 
           17333, 17333, 17333, 17333, 17333, 17333, 17333, 17333, 17333, 
           17333, 17333, 17333, 17333, 17333, 17333, 17333, 17332, 17332, 
           17332, 17332, 17332, 17332, 17332, 17331, 17331, 17331, 17331, 
           17331, 17331, 17331, 17331, 17331, 17330, 17330, 17330, 17330, 
           17330, 17330, 17330, 17330, 17330, 17330, 17330, 17330, 17330, 
           17330, 17330, 17330, 17330, 17330, 17330, 17330, 17330, 17330, 
           17330, 17330, 17330, 17330, 17330, 17330, 17330, 17324, 17322, 
           17318, 17338, 17335), class = "Date")), class = c("tbl_df", "tbl", 
                        "data.frame"), row.names = c(NA, -142L), .Names = "EndDate") 

ui <- fluidPage(
    sliderInput("date", "Select dates", 
      min = min(mydf$EndDate), 
      max = max(mydf$EndDate), 
      value = c(min(mydf$EndDate), max(mydf$EndDate))), 
    tableOutput("filtered_data") 
) 

server <- function(input, output, session) { 
    filt_data <- reactive({ 
    filter(mydf, input$date[1] >= EndDate, input$date[2] <= EndDate) 
    }) 

    output$filtered_data <- renderTable({ 
filt_data() 
    }) 
} 

shinyApp(ui, server) 

答えて

1

は、私は後方何をしたいから、あなたのフィルタ条件を持っていると思います。また、出力された光沢のあるテーブルにEnddateを日付として表示するには、日付を文字に変換する方法があります。下記を参照:

filt_data <- reactive({ 
    results = filter(mydf, EndDate >= input$date[1] & EndDate <= input$date[2]) 

    # To avoid displaying dates as integers in outputted table 
    results$EndDate = as.character(results$EndDate) 
    results 
    }) 
関連する問題