Я пытаюсь сделать приложение с R блестящим, и у меня есть небольшая проблема.
Я хочу иметь 2 входа.Первый вход содержит много переменных из базы данных, а второй вход содержит значения определенной переменной.
Пример:
ui = tagList(
shinythemes::themeSelector(),
navbarPage(
theme = "united", # <--- To use a theme, uncomment this
"shinythemes",
tabPanel("Casco 3003",
sidebarPanel(
tags$h5("Deafult actionButton:"),
actionButton("action", "Search"),
radioButtons('format', 'Document format', c('PDF', 'HTML', 'Word'),
inline = TRUE),
downloadButton('downloadReport'),
selectInput("select", h3("Categorii"),
choices = list("By Client Category" = "CLIENT_TYPE", "By Client Type" = "Leasing",
"By Agent Type" = "by_agent_type", "By Vehicle Category" = "Vehicle_Category",
"By Brands Top 10 Cars"="top_10_cars","By Age Of Vehicle Car"="Car_age"),
selected = "CLIENT_TYPE"),
selectizeInput("select2",label = "Vehicle Category",
choices = Casco_l$Vehicle_Category),
selectInput("select21",label = "Client Type",
choices = list("All"= "All","Client Category" = "CLIENT_CATEGORY"),
selected = "All"),
tags$h5("actionButton with CSS class:"),
actionButton("action2", "Action button", class = "btn-primary")
),
mainPanel(
tabsetPanel(
tabPanel("INSIS 3003",
h4("Table"),
tableOutput("table1")
),
tabPanel("Graphics",
plotOutput("plot1"),
plotOutput("plot3"))
)
)
)))
server = function(input, output) {
aggregated <- reactive({
Casco_l = subset(Data,INSR_TYPE==3003)
Casco_l %>%
group_by_(input$select21,input$select) %>%
filter_(input$select2) %>%
summarise("Exposure" = format(round(sum(Expos)), digits = 0, big.mark=","),
"Earned Premium" = format(round(sum(Earned_Premium)), digits = 0, big.mark=","),
"GWP" = format(round(sum(GWP_RON)), digits = 0, big.mark=","),
"Incurred" = format(round(sum(inc)), digits = 0, big.mark=","),
"NO of events" = format(as.numeric(sum(No_ev)), digits = 0, big.mark=","),
"Frequency %" = format((sum(No_ev)/sum(Expos)*100), digits = 2, nsmall =2, big.mark=","),
"Loss Ratio %" = format(as.numeric((sum(inc)/sum(Earned_Premium))*100), digits = 2, nsmall=2, big.mark=","),
"ULR %"= format(as.numeric((sum(inc)/sum(Earned_Premium))*ulr*100),digits = 2, nsmall=2, big.mark=","),
"Avr premium" = format(round(ifelse((sum(Expos)==0),0,(sum(Earnend_Premium)/sum(Expos)))), digits = 0, big.mark=","),
"Avr claim" = format(round(ifelse((sum(No_ev)==0),0,(sum(inc)/sum(No_ev)))), digits = 0, big.mark=",")
)
})
Я не знаю, как использовать вход $ select2 для созданиягруппа.Потому что приложение говорит, что «Cars» не существует («Cars - это значение из переменной Vehicle Category»).
Я хочу сказать, что я хочу группу по переменной (input $ select)и по значениям (введите $ 2).
Спасибо.
Я добавил изображение, чтобы показать, что я пытаюсь сказать. "По агентуТип "- это переменная (столбец) из набора данных, точно такая же как" Категория клиента ". Для первого ввода (" По типу агента ") я хочу отобразить все значения, для второго ввода (" Категория клиента ") я хочуможно выбрать между «PF» и «PJ» и отображать только один (или «PF» или «PJ»), но не одновременно.
РЕДАКТИРОВАТЬ:
table(AGENT_TYPE): Broker,Agents, Own Network
table(CLIENT_CATEGORY): PF, PJ
Я хочучтобы отобразить все значения для AGENT_TYPE
и только одно значение для CLIENT_CATEGORY
, а в group_by я делаю сумму по столбцу.