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 <ruipbarra...@sapo.pt <mailto:ruipbarra...@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@r-project.org <mailto:R-help@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.
     >


______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to