在R Shiny中调用tabPanel时如何使用lapply或其他高阶函数

时间:2019-06-01 21:02:56

标签: r shiny lapply tabpanel

我在R Shiny中使用tabPanel,并希望通过使用lapply之类的函数使编码器更好

这是tabBox

myTitle=c("A","B","C","D")
myPlot =c("X1","X2","X3","X4")

向量myTitle和myPlot定义为

.force('link', d3.forceLink().id(link => link.id))

如何通过使用更高阶的函数来避免重复的tabPanel定义,例如还是另一个?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

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

可读性不高,但是可以避免重复。