闪亮的应用程序,可供多用户编辑 [英] shiny app for multiple users to edit

查看:0
本文介绍了闪亮的应用程序,可供多用户编辑的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道我是否可以创建一个闪亮的应用程序(类似于Excel电子表格),以便授权多个用户登录(如使用shinyapp.io)同时编辑/输入?我之所以想使用SHINY而不仅仅是EXCEL电子表格,是因为我可能会添加更多的功能(如统计估计、可视化等)。基于多个用户使用R.上传的数据。

期待您的建议/建议 谢谢!

推荐答案

我发现以下模式对我有效:在server外部创建reactiveVal对象,然后在应用程序中访问/更新它。在这里,我编写了一个用于获取消息并将其附加到聊天中的包装器。(代码如下)

但是,我认为这种模式只有在所有用户共享相同的R会话时才有效,并且如果当前R会话结束(所有用户都断开连接),数据将丢失。因此,您可能希望查看this article以了解持久性存储方法的诀窍。此外,请查看reactiveFileReader的文档,以获取更方便的文件访问方式。

library(shiny)

ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      textInput("msg", "Message", placeholder = "type a message in the chat"),
      actionButton("submit", "submit")
    ),
    mainPanel(
      verbatimTextOutput("text")
    )
  )
)

createChat <- function(initVal) {
  chat_text <- reactiveVal(initVal)
  list(
    get = function(){ chat_text() },
    append = function(val) {
      chat_text(paste0(isolate(chat_text()), "
", val))
    }
  )
}

myChat <- createChat("## This is a chat ##
")

server <- function(input, output) {
  observeEvent(input$submit, {
    myChat$append(input$msg)
  })
  output$text <- renderText(myChat$get())
}

shinyApp(ui = ui, server = server)

这篇关于闪亮的应用程序,可供多用户编辑的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆