在R中,如何取消引用/分解/扩展列表以填充多个参数

时间:2016-06-14 18:17:34

标签: r list types shiny

我遇到了一个我无法解决的列表问题。我尝试过unlist,lapply和其他一些方法但没有成功。在其他语言中,我会说我需要取消引用数组,尽管R语言中没有使用该语言。

此代码有效:

tabsetPanel( 
        tabPanel("P1" uiOutput("out1")), 
        tabPanel("P2", uiOutput("out2")) 
        )

然而,我需要动态创建标签,以便这应该有效:

tabs = list( tabPanel("P1" uiOutput("out1")), 
             tabPanel("P2", uiOutput("out2")) )
tabsetPanel( SOMETHING )

以下不起作用:

tabsetPanel( tabs )    
tabsetPanel( lapply(1:2, function(i)tabs[[i]] ) 
tabsetPanel( unlist(tabs) ) 

1 个答案:

答案 0 :(得分:0)

我认为do.call可以解决问题:

do.call(tabsetPanel, args=tabs)

此函数将函数作为其主参数,并在args参数中使用列表来提供函数。