在RStudio中,我希望在查看器中显示一个闪亮的函数hi.app
。默认行为是在浏览器中打开应用程序。
hi.app <- function() {
require(shiny)
shinyApp(
ui = fluidPage(
textInput("name", "Write your name", value = "stranger"),
verbatimTextOutput("greeting")
),
server = function(input, output) {
output$greeting <- renderPrint({
greeting <- paste("Hi,", input$name)
greeting
})
}
)
}
hi.app()
我致电hi.app()
后,将在浏览器中打开该应用。
我想要什么:定义一个参数,以便在我调用它时,始终在RStudio的Viewer中打开此特定应用程序。
我尝试了什么:在shinyApp
之前添加(未成功)以下内容:
options(shiny.launch.browser = .rs.invokeShinyWindowViewer)
答案 0 :(得分:0)
添加像这样的选项
hi.app <- function() {
require(shiny)
shinyApp(
ui = fluidPage(
textInput("name", "Write your name", value = "stranger"),
verbatimTextOutput("greeting")
),
server = function(input, output) {
output$greeting <- renderPrint({
greeting <- paste("Hi,", input$name)
greeting
})
},
options=options(shiny.launch.browser = .rs.invokeShinyWindowViewer)
)
}
hi.app()
答案 1 :(得分:0)
更新:如果闪亮的应用程序要在本地运行,那么使用shiny gadgets
代替shiny apps
似乎是绝对可靠的。参数可以通过viewer
中的runGadget(...)
参数设置:
hi_app <- function() {
ui = miniPage(
gadgetTitleBar("My Gadget"),
textInput("name", "Write your name", value = "stranger"),
verbatimTextOutput("greeting")
)
server = function(input, output) {
output$greeting <- renderPrint({
greeting <- paste("Hi,", input$name)
greeting
})
observeEvent(input$done, {
stopApp()
})
}
runGadget(ui, server,viewer = paneViewer())
}
say_hi <- function() {
library(shiny)
library(miniUI)
hi_app()
}