R 使用shiny高亮显示条形图中的特定条形图

R 使用shiny高亮显示条形图中的特定条形图,r,shiny,R,Shiny,我不确定我这样做是否正确(我愿意接受建议!)。但是,如果我想创建一个闪亮的应用程序,在这个应用程序中我可以选择一个条,然后该条应该在图表中高亮显示 对于本例,我使用泰坦尼克号列车数据集 我有: 问题似乎真的与filtered()反应函数有关。您对这里出现的问题有什么想法吗?您必须要求返回反应部分中的data.frame对象, 您所做的是获取一个向量,而不是将另一列添加到泰坦尼克号列车上。 这应该可以解决这个问题: library(shiny) library(ggplot2) library(t

我不确定我这样做是否正确(我愿意接受建议!)。但是,如果我想创建一个闪亮的应用程序,在这个应用程序中我可以选择一个条,然后该条应该在图表中高亮显示

对于本例,我使用泰坦尼克号列车数据集

我有:


问题似乎真的与filtered()反应函数有关。您对这里出现的问题有什么想法吗?

您必须要求返回反应部分中的data.frame对象,
您所做的是获取一个向量,而不是将另一列添加到泰坦尼克号列车上。
这应该可以解决这个问题:

library(shiny)
library(ggplot2)
library(titanic)
library(dplyr)

UI <- fluidPage(

  # Application title
  titlePanel("Hello Shiny!"),

  sidebarLayout(
    sidebarPanel(
      selectInput("specific_bar", "Pick bar to highlight:",
                  choices = unique(titanic_train$Embarked))
    ),

    mainPanel(
      plotOutput("plot_nice")
    )
  )
)


Server <- function(input, output) {

  filtered <- reactive({
    titanic_train$Specific <- ifelse((titanic_train$Embarked == input$specific_bar), 1,0)
    return(titanic_train)
  })

  output$plot_nice <- renderPlot({
    ggplot(filtered(), aes_string(x="Embarked", y="Survived", fill = "Specific")) + 
      geom_bar(stat = "identity") 
  })


}

shinyApp(ui = UI, server = Server)
库(闪亮)
图书馆(GG2)
图书馆(泰坦尼克号)
图书馆(dplyr)
用户界面
ggplot2 doesn't know how to deal with data of class numeric
library(shiny)
library(ggplot2)
library(titanic)
library(dplyr)

UI <- fluidPage(

  # Application title
  titlePanel("Hello Shiny!"),

  sidebarLayout(
    sidebarPanel(
      selectInput("specific_bar", "Pick bar to highlight:",
                  choices = unique(titanic_train$Embarked))
    ),

    mainPanel(
      plotOutput("plot_nice")
    )
  )
)


Server <- function(input, output) {

  filtered <- reactive({
    titanic_train$Specific <- ifelse((titanic_train$Embarked == input$specific_bar), 1,0)
    return(titanic_train)
  })

  output$plot_nice <- renderPlot({
    ggplot(filtered(), aes_string(x="Embarked", y="Survived", fill = "Specific")) + 
      geom_bar(stat = "identity") 
  })


}

shinyApp(ui = UI, server = Server)