Я пытаюсь создать блестящее приложение R, в котором пользователь вводит 2 даты: дату начала и дату окончания (при условии, что пользователь выберет одну из дат для определенной недели). Выбирая даты, когда пользователь сможет увидеть, сколько он будет продавать каждый элемент из списка предметов на следующей неделе в те дни. Мне предоставили данные о том, какой процент от общего объема продаж происходит каждый день в течение недели. Используя это и используя данные о продажах каждого элемента с прошлой недели, я попытался создать приложение. Однако я думаю, что делаю некоторые ошибки при использовании реактивного выражения. Любая помощь будет оценена. Я предоставил код ниже.Использование нескольких реактивных значений
ui.R
library(shiny)
shinyUI(fluidPage(
sidebarLayout(
sidebarPanel(
dateInput('Start_Date',label = "starting on:",value = Sys.Date())
dateInput('End_Date',label = "Ending on:",value = Sys.Date())
),
mainPanel(
tableoutput("mytable")
)
)
))
server.R
library(shiny)
library(stats)
shinyServer(function(input, output) {
Days<-c("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
Percent_sales_by_day<-c(.10,.14,.14,.14,.14,.17,.17)
Data_days<-data.frame(Days,Percent)
items_sold<-c("A","B","C","D")
sales_last_week<-c("100","200","300","800")
Data_sales<-data.frame(items_sold,sales_last_week)
Day_vector<-reactive({
weekdays(seq(as.Date(input$Start_Date),as.Date(input$End_Date),by = "days"))
})
Daily_split_vector<-reactive({
library(dplyr)
Data_days%>%
filter(Days %in% Day_vector())
Data_days$Percent_sales_by_day
})
Daily_split_value<-reactive({
sum(Daily_split_vector())
})
Forecast<-reactive({
Data_sales%>%
mutate(sales_last_week=sales_last_week* Daily_split_value())
})
output$mytable<-renderTable({
Forecast()
})
})
Спасибо. Это то, что я хотел –