R: Возможно ли создать новую функцию на основе значений ввода в Rshiny или Flexdashboard. Я поместил дату ввода во Flexdashboard, основываясь на этой дате, я хочу создавать новые функции. ОБРАЗЕЦ Дата устанавливается как
User Item_Ordered Due.date Deliverd.Date
A Item 1 30-12-2019 -
B Item 2 09-09-2016 01-05-2019
C Item 1 09-09-2016 01-05-2019
D Item 3 22-09-2017 01-05-2019
A Item 2 22-08-2018
A Item 2 19-09-2018
D Item 1 19-12-2018
C Item 3 20-03-2019 -
C Item 1 16-11-2016 16-11-2016
B Item 3 16-11-2016 16-11-2016
B Item 2 29-12-2017
D Item 1 03-07-2017 07-07-2017
A Item 1 03-08-2017 15-08-2017
D Item 2 04-09-2017 30-08-2017
D Item 3 02-10-2017 04-10-2017
B Item 1 06-11-2017 31-10-2017
Теперь, если я выберу дату как 01-05-2019, поэтому на основе этой даты я хочу создать новую функцию поздних дней. Если Deliverd.Date отсутствует, рассмотрите Reportdate как дату доставки для Late.
Новые функции: Days_delayed и Bin И из пользовательского интерфейса.
ЕСЛИ выберите дату 01-01-2019, тогда значение функции должно быть обновлено на основе этой выбранной даты.
User Item_Ordered Due.date Deliverd.Date Days_delayed Bin
A Item 1 30-12-2019 - 0 Future
B Item 2 09-09-2016 01-05-2019 964 Late
C Item 1 09-09-2016 01-05-2019 964 Late
D Item 3 22-09-2017 01-05-2019 586 Late
A Item 2 22-08-2018 252 Late
A Item 2 19-09-2018 224 Late
D Item 1 19-12-2018 133 Late
C Item 3 20-03-2019 - 42 Future
C Item 1 16-11-2016 16-11-2016 0 On Time
B Item 3 16-11-2016 16-11-2016 0 On Time
B Item 2 29-12-2017 488 Late
D Item 1 03-07-2017 07-07-2017 4 Late
A Item 1 03-08-2017 15-08-2017 12 Late
D Item 2 04-09-2017 30-08-2017 0 Late
D Item 3 02-10-2017 04-10-2017 2 Late
B Item 1 06-11-2017 31-10-2017 0 Late
Код я пытаюсь сделать это, но не работает.
---
title: "Oops"
social: menu
runtime: shiny
output:
flexdashboard::flex_dashboard:
orientation: rows
vertical_layout: fill
---
` ` `
Inputs {.sidebar}
-------------------------------------
```{r}
# Add Date Picker for Generate report Based on It.
dateInput("reportdate",
label = "Report_Date",
value = "2019-05-01",
min = NULL,
max = NULL,`enter code here`
format = "yyyy-mm-dd",
startview = "month",
language = "en",
width = NULL
)
` ` `
` ` `{r}
Raw_data <- read.xlsx(".../line2019.xlsx",sheetIndex = 1)
Raw_data <- mutate(Raw_data,Bin = ifelse(Raw_data$Due.Date >= input$reportdate,"Future",
ifelse((Raw_data$Deliverd.Date >= Raw_data$Due.Date),
"On Time","Late")
))
Raw_data <-
mutate(Raw_data,Days_delayed = ifelse(Raw_data$Bin != "Late",0,
ifelse(is.na(Raw_data$Deliverd.Date),input$reportdate - Raw_data$Due.Date,
Raw_data$Deliverd.Date - Raw_data$Due.Date)
))
` ` `