результат должен иметь длину x, а не 0 r уценка - PullRequest
0 голосов
/ 14 июля 2020

У меня есть фрейм данных, хранящийся в df, и я пытаюсь обновить datatable(DT::datatable) на основе фильтра имен и фильтра диапазона дат в пределах уценки R с блестящей средой выполнения.

Я знаю, что моя проблема заключается в в моем вызове фильтра в моей реактивной функции, но я не уверен, как заставить его работать. Я попытался изменить вызов >= на %in%, который отображает таблицу и не выдает сообщение об ошибке «Результат должен иметь длину 7, а не 0», но таблица пуста.

## load in data

df <- read.csv("dxa.csv")

## format date column as date

df$Date.of.test <- lubridate::dmy(df$Date.of.test)

## join first name and last name 

df$athlete <- paste(df$First.Name,df$Last.Name, sep = " " )

## rename columns

df <- rename(df, c("X..Fat.Free.Mass" = "FFM.Percentage", "X..Fat.Mass" = "FM.Percentage"))
## filter inputs


inputPanel(
  selectInput(inputId = 'name_select',
              label = 'Select Athlete',
              choices = sort(unique(df$athlete))
              ),
  
  dateRangeInput(inputId = 'date_select',
                 label = 'Select Date Range',
                 start = min(df$Date.of.test),
                 end = max(df$Date.of.test),
                 min = min(df$Date.of.test),
                 max = max(df$Date.of.test),
                 format = "dd-mm-yyyy")
  )

dfr <- reactive({
   df %>% 
      filter(Date.of.test >= input$date_select[1] & Date.of.test <= input$date_range[2] & athlete %in% input$name_select) %>%
      select("Date.of.test", "Scale.Weight", "FFM.Percentage", "FM.Percentage","TOTAL.Fat.Mass", "TOTAL.Fat.Free.Mass", "USG") %>%
        arrange(Date.of.test)
})


## Data Table

 renderDT({ 
         DT::datatable(dfr())
 })

## graph 1 
renderPlot({
  
})
...