【发布时间】:2017-04-19 17:42:52
【问题描述】:
我想在我闪亮的应用程序中避免臭名昭著的 for 循环,但到目前为止我还没有找到解决方案。这是我的第一个真正闪亮的项目,任何意见都非常感谢。
我的场景是:用户提供一个数据框。然后,该应用程序会为每一列生成一个下拉菜单。 (稍后这将用于决定在线性模型中是否应将列视为因子、协变量或忽略)
我目前的方法是使用 for 循环和 insertUI 函数:
ui.R:
library(shiny)
shinyUI(
fluidPage(
actionButton("ADD","ADD")
)
)
server.R
library(shiny)
opts <- c("A","B")
shinyServer(function(input, output) {
for(i in 1:length(mtcars)){
insertUI(
selector = "#ADD",
where="afterEnd",
ui=selectInput(paste(names(mtcars[i]),"sel"),names(mtcars[i]),opts)
)
}
})
这行得通,但一点也不优雅。 感谢您对我如何改进的意见。
【问题讨论】: