2017-10-21 108 views
0

我想在Shiny中傳遞一個數字,然後將其用作確定輸出中使用哪個變量的變量名稱的一部分。傳遞數字作爲Shiny中變量名稱的一部分

在一個帶有兩個變量var1和var2的數據框(df)的簡單示例中,我希望允許用戶選擇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) 

與線????是顯而易見的問題。

+0

您可以用'DF [paste0( 「VAR」,輸入$年)]]'? – r2evans

+0

'hist(df [[paste0(「var」,input $ year]]))'似乎不起作用,也不會在$ var前引用$或引用輸入$ year。 –

回答

0

找到東西的作品:

hist(unlist(df[paste0("var", input$year)])) 
相關問題