【发布时间】:2016-08-12 03:15:56
【问题描述】:
我正在尝试创建一个界面,允许用户选择关注多少列,然后在每列中选择一个唯一值。
我现在的代码不匹配列值和列名。当我只选择 1 列时它确实有效。但是,当有 >1 列时它不起作用。 “选择属性值”总是求助于第一个“选择属性”。我希望它们兼容。
library(shiny)
ui<-shinyUI(fluidPage(fluidRow(column(width = 4,
numericInput("assets", label = "Choose How Many Attributes to Produce in the Map:", value="1"),
uiOutput("variants"),
uiOutput("variants2")
)
)))
server <-shinyServer( function(input, output, session) {
df<-read.csv("diff_block.csv", stringsAsFactors=FALSE, colClasses="character")
df$X<-NULL
output$variants <- renderUI({
numAssets <- as.integer(input$assets)
lapply(1:(numAssets), function(i) {
list(selectInput ("choose_columns",
"Choose Attribute",
sort(unique(names(df)), decreasing = FALSE),
selected=""))
})
})
output$variants2 <- renderUI({
numAssets <- as.integer(input$assets)
lapply(1:(numAssets), function(j) {
selectInput ("choose_columns2",
"Choose Attribute Value",
sort(unique(df[,input$choose_columns]), decreasing = FALSE),
selected="")
})
})
})
shinyApp(ui, server)
【问题讨论】: