我希望在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)
与????的行是一个明显的问题。
答案 0 :(得分:0)
找到有用的东西:
hist(unlist(df[paste0("var", input$year)]))