【发布时间】:2019-10-14 08:49:06
【问题描述】:
我需要创建一个闪亮的应用程序,它将为 6 个不同的用户生成相同仪表板布局的 6 个不同版本。每个用户在生产过程中都会看到自己的历史数据,并且都在同一个数据库中(我猜我只需要为每个特定用户过滤整个数据库)。
具体来说:
1 - 我如何检测哪个用户是哪个?我将使用身份验证,所以我猜我可能可以通过他的登录方式从用户那里检索信息。但是如何以代码形式检索这些信息?
2 - 知道哪个用户是哪个用户,我如何在同一个应用代码上创建 6 个不同的版本?它们将是相同的布局,唯一的区别是基于用户的数据集过滤。
(可选) 3 - Shiny 服务器如何协调不同用户的显示?考虑具有用户交互的仪表板,不同的输入不会干扰彼此的显示?他们是否必须为每次访问复制代码以便它们成为独立的结果?
我还没有做到,即使我做到了,我认为这里解决起来太复杂了,所以我发布了闪亮的 Hello World。这样,假设用于绘制直方图的数据集有一个名为“用户”的列。用于区分用户的代码是什么?
library(shiny)
output$distPlot <- renderPlot({
dist <- dataset[1:obs,1] %>% filter(???)
hist(dist)
})
})
shinyUI(fluidPage(
titlePanel("Hello Shiny!"),
# Sidebar with a slider input for number of observations
sidebarLayout(
sidebarPanel(
sliderInput("obs",
"Number of observations:",
min = 1,
max = 1000,
value = 500)
),
mainPanel(
plotOutput("distPlot")
)
)
))
谢谢!
【问题讨论】: