我在以下{@ {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')
})
}