传递号码作为Shiny中变量名称的一部分

时间:2017-10-21 00:32:47

标签: r shiny

我希望在Shiny中传递一个数字,然后将其用作变量名称的一部分,以确定输出中使用的变量。

在一个简单的例子中,数据帧(df)有两个变量var1和var2,我希望允许用户选择1或2,并使用它来引用var1或var2。 (在我的实际情况中,这些是年份,输出是地图。)我的猜测是这样的:

library(shiny)

var1=c(1,2,3,4)
var2=c(2,4,6,8)
df=data.frame(var1, var2)

ui<-fluidPage(
  sliderInput(inputId = "year",
    label = "Choose a variable",
    value = 2, min = 1, max = 3),
  plotOutput("yr")
)
server<- function(input, output) {
  output$yr <-  renderPlot({
    title <- "hist of var 1 or 2"
    hist(df$var(input$year)????, main = title)
  })
}
shinyApp(ui = ui, server = server)

与????的行是一个明显的问题。

1 个答案:

答案 0 :(得分:0)

找到有用的东西:

hist(unlist(df[paste0("var", input$year)]))