在 R shiny 中调用 tabPanel 时如何使用 lapply 或其他高阶函数
How to use lapply or another higher order function when calling tabPanel in R shiny
我在 R shiny 中使用 tabPanel 并希望通过使用像 lapply
这样的函数来使编码器更好
这是选项卡框
tabBox(
title = mytitle, id = myid, width = "8",
tabPanel(myTitle[1], icon = icon("adjust"), plotOutput(myPlot[1])),
tabPanel(myTitle[2], icon = icon("adjust"), plotOutput(myPlot[2])),
tabPanel(myTitle[3], icon = icon("adjust"), plotOutput(myPlot[3])),
tabPanel(myTitle[4], icon = icon("adjust"), plotOutput(myPlot[4]))
)
向量 myTitle 和 myPlot 定义为
myTitle=c("A","B","C","D")
myPlot =c("X1","X2","X3","X4")
如何使用高阶函数避免重复的 tabPanel 定义,例如lapply 还是另一个?
感谢您的帮助
do.call(function(...){
tabBox(title = mytitle, id = myid, width = "8", ...)
}, mapply(function(title, plotid){
tabPanel(title, icon = icon("adjust"), plotOutput(plotid))
}, myTitle, myPlot, SIMPLIFY = FALSE, USE.NAMES = FALSE))
可读性不高,但这避免了重复。
我在 R shiny 中使用 tabPanel 并希望通过使用像 lapply
这样的函数来使编码器更好这是选项卡框
tabBox(
title = mytitle, id = myid, width = "8",
tabPanel(myTitle[1], icon = icon("adjust"), plotOutput(myPlot[1])),
tabPanel(myTitle[2], icon = icon("adjust"), plotOutput(myPlot[2])),
tabPanel(myTitle[3], icon = icon("adjust"), plotOutput(myPlot[3])),
tabPanel(myTitle[4], icon = icon("adjust"), plotOutput(myPlot[4]))
)
向量 myTitle 和 myPlot 定义为
myTitle=c("A","B","C","D")
myPlot =c("X1","X2","X3","X4")
如何使用高阶函数避免重复的 tabPanel 定义,例如lapply 还是另一个?
感谢您的帮助
do.call(function(...){
tabBox(title = mytitle, id = myid, width = "8", ...)
}, mapply(function(title, plotid){
tabPanel(title, icon = icon("adjust"), plotOutput(plotid))
}, myTitle, myPlot, SIMPLIFY = FALSE, USE.NAMES = FALSE))
可读性不高,但这避免了重复。