[R] Need help to fix the max date filter problem in the date input
Rui Barradas
ru|pb@rr@d@@ @end|ng |rom @@po@pt
Tue Jun 8 12:08:47 CEST 2021
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.
> >
>
More information about the R-help
mailing list