【问题标题】:ggplot y variable based on selection from radio button-shiny in Rggplot y 变量基于从 R 中的单选按钮闪亮的选择
【发布时间】:2018-03-09 06:07:55
【问题描述】:

我试图让 R 闪亮,以根据单选按钮的选择为每个国家/地区绘制不同的 y 值(每个可能的 y 值集都在我的 .csv 中作为其自己的列)。即使名称完全匹配(如下所示),它似乎也不起作用,或者我在 ggplot 图中的 output$data 中调用它。请帮忙!

library(shiny) 
library(tidyverse) 
library(readr)

Emissions <- read_csv("~/Desktop/CAIT Country GHG Emissions.csv")

ui <- fluidPage(

titlePanel("Greenhouse Gas Emissions Emissions by Country, 1990-2014"),

radioButtons("data", "Include:", choices = c("total", 
"total_including_landuse", "co2_only")

),

sidebarLayout( sidebarPanel( selectInput("country","Country:", choices 
= Emissions$Country)

),

mainPanel(

plotOutput("emitPlot"),
)
) )

server <- function(input, output) {

output$emitPlot <- renderPlot({

emissions = input$data

ggplot(subset(Emissions, Country == input$country, ), aes(x =Year, y = 
emissions ###(THIS IS THE PART I'M TRYING TO FIX, it should be like y= 
input$data, or something###

 ))+
geom_col(aes(fill = Year))+
xlab("Year")+
ylab("GHG Emissions (Metric tons, CO2 Equivellent)")+
theme_classic()
}) }

shinyApp(ui = ui, server = server)

【问题讨论】:

    标签: r ggplot2 shiny radio-button


    【解决方案1】:

    input$data 是一个字符串,而aes 使用非标准评估来捕获变量名称。我们可以改用aes_string()。下面给出了mtcars 数据集的工作示例。希望这会有所帮助!

    library(shiny) 
    library(dplyr)
    library(ggplot2)
    
    mtcars
    
    ui <- fluidPage(
      titlePanel("Mtcars example"),
      radioButtons("data", "Include:", choices = c('hp','disp','cyl')),
      sidebarLayout(sidebarPanel(selectInput("am","am:", choices = unique(mtcars$am))
      ),
      mainPanel(
        plotOutput("mtcarsPlot")
      )
      ) 
    )
    
    server <- function(input, output) {
    
      output$mtcarsPlot <- renderPlot({
        ggplot(
          subset(mtcars, am == input$am), 
          aes_string(x = 'mpg', y = input$data)) + geom_point() 
      })
    }
    
    shinyApp(ui = ui, server = server)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-13
      • 1970-01-01
      • 1970-01-01
      • 2020-03-28
      • 2021-05-01
      • 2020-06-20
      • 2015-05-06
      • 2016-01-20
      相关资源
      最近更新 更多