【发布时间】:2020-12-23 14:18:08
【问题描述】:
有没有可能得到一些在 Shiny 中使用的 R 对象?
例如,在下面的代码中,我想获取用户输入的文本字符串。
但是,.Last.value 不是所需的文本字符串。
参考
How to store the returned value from a Shiny module in reactiveValues?
Ex 代码
returnUI = function(id) {
ns <- NS(id)
tagList(
textInput(ns("txt"), "Write something")
)
}
returnServer = function(input, output, session) {
myreturn <- reactiveValues()
observe({ myreturn$txt <- input$txt })
return(myreturn)
}
library(shiny)
source("modules/module_1.R")
ui <- fluidPage(
returnUI("returntxt"),
textOutput("mytxt")
)
server <- function(input, output, session) {
myvals <- reactiveValues(
txt = NULL
)
mytxt <- callModule(returnServer, "returntxt")
observe({
myvals$txt <- mytxt$txt
print(myvals$txt)
})
output$mytxt <- renderText({ myvals$txt })
}
shinyApp(ui, server)
.Last.value
【问题讨论】:
-
如果你想要闪亮的应用程序完成后的值,你需要像
https://stackoverflow.com/questions/27365575/how-to-exit-a-shiny-app-and-return-a-value这样的东西。.Last.value变量仅适用于在控制台中运行的值。 -
谢谢。我会试试你的建议页面,这个问题可能会重复。它应该被关闭......否则我将删除这个问题。
-
@CamfordOxbridge,我不认为这是一个重复的问题,并且可以将 R 对象从 Shiny 应用程序传回您的正常工作区以检查它们(请参阅我的答案)。跨度>