一个反应式图形,它包含四个输入,并根据所选内容将总数相加

我在以下{@ {3}}中使用Kaggle的自杀数据集。我正在尝试创建一个包含国家,年龄,年龄和性别的闪亮应用程序,并将根据从下拉列表中选择的内容输出suicide_no列。例如,如果我从1987年开始选择阿尔巴尼亚,则无论年龄和性别,它都将相加,但是如果我再加上男性,它将删除女性。 用户界面:

ui <- dashboardPage(
  dashboardheader(title = "Global Suicide Rates"),dashboardSidebar(
    sidebarMenu(

      selectInput("nation","Select a Country: ",choices = sort(unique(suicideRate$ï..country)),selected = NULL,multiple = TRUE,selectize = TRUE,width = NULL,size = NULL),selectInput("year","Select a Year: ",choices = sort(unique(suicideRate$year)),selectInput("sex","Select a Sex: ",choices = sort(unique(suicideRate$sex)),selectInput("age","Select an Age Range: ",choices = sort(unique(suicideRate$age)),actionButton("goButton","Apply")

    )
  ),dashboardBody(

    fluidRow(
      box(width = 6,solidHeader = TRUE,status = "primary",title = "Total",plotlyOutput("suicide",width = '750px',height = '300px')

      )
      )
  )
)

服务器:

server <- function(input,output,session) {

  filteredData <- reactive({
    req(input$nation)
    filtSuicideRate <- suicideRate

    if(!is.null(input$nation)) {
      filtSuicideRate <- filtSuicideRate %>% filter(ï..country %in% input$nation)
    }
    if(!is.null(input$year)) {
      filtSuicideRate <- filtSuicideRate %>% filter(year %in% input$year)
    }
    if(!is.null(input$sex)) {
      filtSuicideRate <- filtSuicideRate %>% filter(sex %in% input$sex)
    }
    if(!is.null(input$age)) {
      filtSuicideRate <- filtSuicideRate %>% filter(age %in% input$age)
    }

    filtSuicideRate
  })

  output$suicide <- renderPlotly({
    input$goButton
    plot_ly(filteredData(),x = ~ï..country,y = count(suicideRate$suicides_no),type = 'bar')
    })

}
petar29 回答:一个反应式图形,它包含四个输入,并根据所选内容将总数相加

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3036104.html

大家都在问