Как выбрать данные между двумя datetime в блестящем приложении? - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь создать приложение с блестящей информацией для моих данных с такой отметкой времени factor format: "2017-03-07 06:00:00", "2017-03-07 06:00: 00" . Это почасовые данные, однако некоторые данные или время могут отсутствовать во всех данных. Мне нравится иметь возможность выбирать данные между двумя произвольными датами и временем. Это то, что я сделал до сих пор:

      sliderInput(inputId = "slider_datetime", 
                 label = "Date & time:", 
                  min = as.POSIXct("2017-03-03 16:00:00", "UTC"), max = as.POSIXct("2017-12-01 07:00:00", "UTC"),
                 value= as.POSIXct("2017-03-03 16:00:00", "UTC")),

#Create the scatterplot object the plotOutput function is expecting

    output$scatterplot <- renderPlot({
       Data<- Data%>%
        mutate(Timestamp = as.POSIXct(Timestamp))%>%
        filter(Timestamp %in% input$slider_datetime)

    ggplot(data[data$ID %in% input$z,],  aes_string(x=input$x, y=input$y))+geom_point()
    }) 

Но, sliderInput это неправильный выбор для выбора между двумя метками времени, а также приложение работает так медленно. Я не знаю, есть что-то вроде datetimeRangeInput? Я буду благодарен, если кто-то может мне помочь

Pegah

1 Ответ

0 голосов
/ 11 сентября 2018

Если вы пытаетесь выбрать между двумя разными датами, не следует ли изменить ваш sliderInput, чтобы он выглядел следующим образом

sliderInput(inputId = "slider_datetime", 
                 label = "Date & time:", 
                  min = as.POSIXct("2017-03-03 16:00:00", "UTC"), max = 
                        as.POSIXct("2017-12-01 07:00:00", "UTC"),
                 value= c(as.POSIXct("2017-03-03 16:00:00", "UTC"),
                        as.POSIXct("2017-03-10 16:00:00", "UTC"))
                      ) 

Кроме того, время выполнения вашего приложения может быть медленным, так как вы звоните as.POSIXct для преобразования столбца Timestamp при каждом изменении ввода. Я не совсем уверен, если это причина, но вы можете попробовать следующее, если это работает! :)


global.R

Data <- Data %>% mutate(Timestamp = as.POSIXct(Timestamp))      

ui.R

sliderInput(inputId = "slider_datetime", 
             label = "Date & time:", 
              min = min(Data$Timestamp), max = max(Data$Timestamp),
             value= c("2017-03-03 16:00:00","2017-03-10 16:00:00")
                  )

Одним из других вариантов может быть использование dateInput и sliderInput отдельно для даты и времени, а затем объединение результатов 2 для фильтрации данных.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...