在 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))

可读性不高,但这避免了重复。