如何从RStudio小工具中打开闪亮的应用程序
我正在开发一个打包了一组应用程序的软件包,我希望有一个允许您根据分类选择应用程序的包。此应用程序是一个,它是一个闪亮应用程序的特殊迷你版 问题在于:如何从RStudio小工具中打开闪亮的应用程序,r,shiny,rstudio,R,Shiny,Rstudio,我正在开发一个打包了一组应用程序的软件包,我希望有一个允许您根据分类选择应用程序的包。此应用程序是一个,它是一个闪亮应用程序的特殊迷你版 问题在于: 我无法在另一个应用程序中使用runApp,这会导致错误 我无法返回我想启动的应用程序,因为我尝试了,但它什么也没做 在gadget服务器函数中,我有以下代码: observeEvent(input$done,{ theapp <- shinyAppDir("Dir/to/app") stopApp(theapp)
- 我无法在另一个应用程序中使用
,这会导致错误runApp
- 我无法返回我想启动的应用程序,因为我尝试了,但它什么也没做
observeEvent(input$done,{
theapp <- shinyAppDir("Dir/to/app")
stopApp(theapp)
})
observeEvent(输入$done{
应用程序您可以通过使用rstudioapi
包在关闭应用程序时向R控制台发送命令来解决此问题。然后,服务器功能中的代码变为:
observeEvent(input$done,{
command <- "shinyAppDir('Dir/to/app')"
rstudioapi::sendToConsole(command)
stopApp()
})
observeEvent(输入$done{
命令问题以QA的方式回答,因为我已经为此奋斗了半天,我想把它放在某个地方作为参考。没有更好的地方,只有这样的参考。
library(shiny)
ui2 <- fluidPage(
title = "The Second App",
plotOutput("plot")
)
server2 <- function(input, output, session){
output$plot <- renderPlot(hist(iris$Sepal.Length))
}
library(miniUI)
library(rstudioapi)
theGadget <- function(){
ui <- miniPage(
gadgetTitleBar("Get some app"),
miniContentPanel(
renderText("Click on Done")
)
)
server <- function(input, output, session){
observeEvent(input$done,{
command <- "shinyApp(ui2, server2)"
rstudioapi::sendToConsole(command)
stopApp()
})
}
viewer <- dialogViewer("Example")
runGadget(ui, server, viewer = viewer)
}
theGadget()