пару недель назад я только что узнал о блестящем, и теперь я пытаюсь создать приложение, которое отображает некоторую графику, но до этого я застрял в преобразовании фрейма данных в зависимости от входных данных выбора пользовательского интерфейса и получении ошибки: объект типа 'закрытие »не может быть подмножеством.
В моем фрейме данных есть 5 разных категорий, в каждой из которых 2 хранилища.Каждый из этих магазинов тратит деньги на средства массовой информации (телевидение, радио, Интернет), и есть записи, когда и в какие магазины типа средств массовой информации вкладывались деньги.Я уже сделал выбор ввода, где вы выбираете категорию с магазинами, а затем у вас есть фрейм данных с наблюдениями выбранного магазина.
Вот мои сделанные данные:
library(shiny)
library(dplyr)
year <- sample(seq(as.Date('2017/01/01'), as.Date('2018/03/31'), by="day"), 800, TRUE) %>% as.character()
media <- sample(c("TV", "RADIO", "INTERNET"), 800, TRUE)
expenditure <- sample(50:150, 800, TRUE)
category <- rep(1:5,160)
store <- rep(11:20,80)
dff <- cbind(store, category) %>% unique() %>% as.data.frame()
data <- data.frame(year,media,expenditure,category,store)
И есть блестящий код:
runApp(list(
ui = basicPage(
sidebarPanel(
selectInput("kat", "Category", choices = unique(dff$category) , selected = unique(dff$category)[1]),
tags$hr(),
selectInput("brand", "Brandas", choices = dff$store[dff$category == unique(dff$category)[1]],
multiple = TRUE)
),
mainPanel(
tableOutput("var"),
uiOutput('table')
)
),
server = function(input, output, session) {
observe({
kat <- input$kat
updateSelectInput(session, "brand", choices = dff$store[dff$category == kat])
})
dff2 <- data
filterData2 <- reactive({
data.frame(dff2[which(dff2$category %in% input$kat & dff2$store %in% input$brand),])
})
frame <- renderTable({ filterData2() })
output$var <- frame
frame1 <- reactive(frame[frame$store %in% input$brand,]$expenditure)
output$table <- frame1
}
))
Я ожидаю, что преобразованный фрейм данных будет отображаться на входах выбранных магазинов и их суммы инвестиций на каждом носителе в разные месяцы года.Пожалуйста, дайте мне пример кода, как ссылаться на входные данные (магазин, категория), чтобы я мог суммировать инвестиции магазина в медиа в зависимости от месяца.