将一些闪亮的应用程序合并为一个闪亮的仪表板

4

我有几个闪亮的应用,现在我想为这些应用创建一个仪表板。我不想改变原始应用程序,只是想创建另一个ui.R和server.R文件,并将其他应用程序集成到其中。像以下结构一样。

#ui.R
ui <- dashboardPage(
  dashboardHeader(title = "App User Analyse"),
  dashboardSidebar(
    sidebarMenu(
      menuItem("Dashboard", tabName = "dashboard", icon = icon("dashboard")),
      menuItem("Widgets", tabName = "widgets", icon = icon("th"))
    )
  ),



dashboardBody(
    tabItems(
      # First tab content
      tabItem(tabName = "Dashboard",
             ***app1***
      ),

      # Second tab content
      tabItem(tabName = "widgets",
              ***app2***
      )
    )
  )
)

我对shiny和shiny服务器还不熟悉。不确定是否有一种方法可以实现这一点。如果有的话,能否给我一个小例子?谢谢!


创建一个简单的网站,其中包含指向不同闪亮应用程序的链接? - zx8754
1
我昨天问了同样的问题,有两种方法被推荐,分别是iframe和Shiny模块。两种方法都有效。http://shiny.rstudio.com/articles/modules.html - John
1个回答

2

我的第一反应是,你不能简单地将所有应用程序代码复制到一个地方并期望它能够工作,你需要做一些工作来将它们全部整合在一起。例如,如果你的两个应用程序都有一个ID为“foo”的输入字段,则你不能将它们都不改变地放入一个shinydashboard应用程序中,因为你不能有多个具有相同ID的元素。这只是一个非常简单的例子,说明为什么你不能简单地将所有代码连接在一起。


谢谢您的提醒。但在我的情况下,我确信这些应用程序的代码可以很好地协同工作。但关键是我不想将所有文件复制到一个文件中,只想重复使用这些应用程序。基于这个事实,您能给些建议吗?再次感谢。 - ysfseu
2
然后,您可以将每个文件的UI和服务器代码拆分为两个文件,并将每个UI和服务器组件仅source()到主应用程序中。这可能有效(使用类似于此链接中的方法:https://dev59.com/SIvda4cB1Zd3GeqPZGoO)。 - DeanAttali
谢谢!你的链接也为我解决了“TRUE”问题! - ysfseu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接