[R] Need help to fix the max date filter problem in the date input

Biplab Nayak b|p|@bn1 @end|ng |rom gm@||@com
Tue Jun 8 14:55:06 CEST 2021


Hi Rui,

Please find the code(bold) below I was trying to do to achieve the
achieve:But somehow its not working.
1.Order assessment based on the latest due date so select input
automatically show the order of assessment name.
2.Filter based on the one name or multiple names in the  select input

library(tidyverse)
#library(stringr)    # attached with tidyverse
#library(readr)
library(shiny)
library(dplyr)

ttclasses <- read_csv("~/tmp/ttclasses.csv")

#Filter data
ttclasses <-ttclasses %>%
   filter(str_detect(assessment, "Assignment"))

# With the attached data this filter
# removes all rows so I have
# commented it out


*ttclasses <-ttclasses %>%  filter(str_detect(name, "Name"))*
##Remove NA values.
ttclasses <-ttclasses %>% drop_na("score")

*## Sort  assessment based on max due_date*
*  ttclasses  <- ttclasses [order( - due_date, assessment ),]*

#Convert to factor
ttclasses$assessment <- factor(ttclasses$assessment)

# please see the formats in help("strptime")
ttclasses$due_date <-  as.Date(ttclasses$due_date, format = "%m/%d/%y")
*ttclasses$name <- factor(ttclasses$name)*

# Define UI ----
ui <- fluidPage(

   # App title ----
   titlePanel("Assessment Dashboard"),

   # Sidebar layout with input and output definitions ----
   sidebarLayout(

     # Sidebar panel for inputs ----
     sidebarPanel(

       # Input: Selector for variable to plot the grades for the selected
       # assignment ----

         selectInput("assessment", "Assessment:",
                     c("Assignment 1" = "Assignment 1",
                       "Assignment 2" = "Assignment 2",
                       "Assignment 3" = "Assignment 3",
                       "Assignment 4" = "Assignment 4",
                       "Assignment 5" = "Assignment 5")),
       selectInput("name", "Name:",
                   ttclasses[,2]),

       dateRangeInput("due_date",
                      "Due-Date:",start = max(ttclasses$due_date) ,
                      separator = " - ")
     ),

     # Main panel for displaying outputs ----
     mainPanel(

       # Output: Plot of the requested variable against grade ----
       plotOutput("gradePlot")

     )
   )
)

# Define server logic to plot  ----
server <- function(input, output) {
   output$gradePlot <- renderPlot({
     grade_ad = input$assessment
     boxplot(ttclasses$score[ttclasses$assessment==grade_ad],
             frame.plot=FALSE, horizontal=TRUE, col="magenta",
main=grade_ad)
     ttclasses <-ttclasses %>%
       filter(ttclasses$due_date >= input$due_date[1] & ttclasses$due_date
              <= input$due_date[2])
   })
}

# Create Shiny app ----
shinyApp(ui, server)


Thanks & Regards
Biplab Nayak

On Tue, Jun 8, 2021 at 7:08 AM Rui Barradas <ruipbarradas using sapo.pt> wrote:

> Hello,
>
> Please cc the list.
> R-Help is not a code writing service, it's a mailing list for doubts on
> R code. I'm sorry but without answers to the below questions I am not
> going to answer.
>
>
> What have you tried? What went wrong?
>
>
> Hope this helps,
>
> Rui Barradas
>
> Às 04:01 de 08/06/21, Biplab Nayak escreveu:
> > Hi Rui,
> >
> > It's working fine. Now I need to achieve the following:
> >
> > * Default view of most recent distributions by most recent assignment
> > due date
> >
> > * Filter by one or more students
> >
> > Please help
> >
> > Thanks & Regards
> > Biplab Nayak
> >
> > On Mon, Jun 7, 2021 at 6:51 PM Rui Barradas <ruipbarradas using sapo.pt
> > <mailto:ruipbarradas using sapo.pt>> wrote:
> >
> >     Hello,
> >
> >     Thanks for the data.
> >     There were some, not many, bugs that I have corrected below.
> >
> >
> >
> >     library(tidyverse)
> >     #library(stringr)    # attached with tidyverse
> >     #library(readr)
> >     library(shiny)
> >
> >     ttclasses <- read_csv("~/tmp/ttclasses.csv")
> >
> >     #Filter data
> >     ttclasses <-ttclasses %>%
> >         filter(str_detect(assessment, "Assignment"))
> >
> >     # With the attached data this filter
> >     # removes all rows so I have
> >     # commented it out
> >     #ttclasses <-ttclasses %>%
> >     #  filter(str_detect(name, "Name"))
> >
> >     ##Remove NA values.
> >     ttclasses <-ttclasses %>% drop_na("score")
> >
> >     #Convert to factor
> >     ttclasses$assessment <- factor(ttclasses$assessment)
> >
> >     # please see the formats in help("strptime")
> >     ttclasses$due_date <-  as.Date(ttclasses$due_date, format =
> "%m/%d/%y")
> >     ##ttclasses$name <- factor(ttclasses$name)
> >
> >     # Define UI ----
> >     ui <- fluidPage(
> >
> >         # App title ----
> >         titlePanel("Assessment Dashboard"),
> >
> >         # Sidebar layout with input and output definitions ----
> >         sidebarLayout(
> >
> >           # Sidebar panel for inputs ----
> >           sidebarPanel(
> >
> >             # Input: Selector for variable to plot the grades for the
> >     selected
> >             # assignment ----
> >               selectInput("assessment", "Assessment:",
> >                           c("Assignment 1" = "Assignment 1",
> >                             "Assignment 2" = "Assignment 2",
> >                             "Assignment 3" = "Assignment 3",
> >                             "Assignment 4" = "Assignment 4",
> >                             "Assignment 5" = "Assignment 5")),
> >             selectInput("name", "Name:",
> >                         ttclasses[,2]),
> >
> >             dateRangeInput("due_date",
> >                            "Due-Date:",start = max(ttclasses$due_date) ,
> >                            separator = " - ")
> >           ),
> >
> >           # Main panel for displaying outputs ----
> >           mainPanel(
> >
> >             # Output: Plot of the requested variable against grade ----
> >             plotOutput("gradePlot")
> >
> >           )
> >         )
> >     )
> >
> >     # Define server logic to plot  ----
> >     server <- function(input, output) {
> >         output$gradePlot <- renderPlot({
> >           grade_ad = input$assessment
> >           boxplot(ttclasses$score[ttclasses$assessment==grade_ad],
> >                   frame.plot=FALSE, horizontal=TRUE, col="magenta",
> >     main=grade_ad)
> >           ttclasses <-ttclasses %>%
> >             filter(ttclasses$due_date >= input$due_date[1] &
> >     ttclasses$due_date
> >                    <= input$due_date[2])
> >         })
> >     }
> >
> >     # Create Shiny app ----
> >     shinyApp(ui, server)
> >
> >
> >
> >     Hope this helps,
> >
> >     Rui Barradas
> >
> >     Às 18:03 de 07/06/21, Biplab Nayak escreveu:
> >      > Hi All,
> >      > I Need a bit of help to fix the code.
> >      > Code:
> >      > library(readr)
> >      > library(shiny)
> >      > ttclasses <- read_csv("ttclasses.csv")
> >      >
> >      > #Filter data
> >      > library(stringr)
> >      > library(dplyr)
> >      > ttclasses <-ttclasses %>%
> >      >    filter(str_detect(assessment, "Assignment"))
> >      > ttclasses <-ttclasses %>%
> >      >    filter(str_detect(name, "Name"))
> >      >
> >      > ##Remove NA values.
> >      > library(tidyverse)
> >      > ttclasses <-ttclasses %>% drop_na("score")
> >      >
> >      > #Convert to factor
> >      > ttclasses$assessment <- as.factor(ttclasses$assessment)
> >      > ttclasses$due_date =  as.Date(ttclasses$due_date, format =
> >     "mm/dd/yy")
> >      > ##ttclasses$name <- as.factor(ttclasses$name)
> >      >
> >      > # Define UI ----
> >      > ui <- fluidPage(
> >      >
> >      >    # App title ----
> >      >    titlePanel("Assessment Dashboard"),
> >      >
> >      >    # Sidebar layout with input and output definitions ----
> >      >    sidebarLayout(
> >      >
> >      >      # Sidebar panel for inputs ----
> >      >      sidebarPanel(
> >      >
> >      >        # Input: Selector for variable to plot the grades for the
> >     selected
> >      > assignment ----
> >      >        selectInput("assessment", "Assessment:",
> >      >                    c("Assignment 1" = "Assignment 1",
> >      >                      "Assignment 2" = "Assignment 2",
> >      >                      "Assignment 3" = "Assignment 3",
> >      >                      "Assignment 4" = "Assignment 4",
> >      >                      "Assignment 5" = "Assignment 5")),
> >      >        selectInput("name", "Name:",
> >      >                    ttclasses[,2]),
> >      >
> >      >      dateRangeInput("due_date",
> >      >                     "Due-Date:",start = max(ttclasses$due_date) ,
> >      >                     separator = " - ")
> >      >      ),
> >      >
> >      >      # Main panel for displaying outputs ----
> >      >      mainPanel(
> >      >
> >      >        # Output: Plot of the requested variable against grade ----
> >      >        plotOutput("gradePlot")
> >      >
> >      >      )
> >      >    )
> >      > )
> >      >
> >      > # Define server logic to plot  ----
> >      > server <- function(input, output) {
> >      >      output$gradePlot <- renderPlot({
> >      >      grade_ad = input$assessment
> >      >      boxplot(ttclasses$score[ttclasses$assessment==grade_ad],
> >      > frame.plot=FALSE, horizontal=TRUE, col="magenta", main=grade_ad)
> >      >      ttclasses <-ttclasses %>%
> >      >        filter(ttclasses$due_date >= input$due_date[1] &
> >     ttclasses$due_date
> >      > <= input$due_date[2])
> >      >    })
> >      > }
> >      >
> >      > # Create Shiny app ----
> >      > shinyApp(ui, server)
> >      >
> >      > Thanks & Regards
> >      >
> >      >       [[alternative HTML version deleted]]
> >      >
> >      > ______________________________________________
> >      > R-help using r-project.org <mailto:R-help using r-project.org> mailing list
> >     -- To UNSUBSCRIBE and more, see
> >      > https://stat.ethz.ch/mailman/listinfo/r-help
> >     <https://stat.ethz.ch/mailman/listinfo/r-help>
> >      > PLEASE do read the posting guide
> >     http://www.R-project.org/posting-guide.html
> >     <http://www.R-project.org/posting-guide.html>
> >      > and provide commented, minimal, self-contained, reproducible code.
> >      >
> >
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list