R 在Shining中,从反应对象中的列中选择唯一值以用作输入选项
我正在尝试制作一个闪亮的仪表板应用程序,其中下拉菜单中的可用选项是从被动数据对象中的列中检索的 目前,我的代码如下所示:R 在Shining中,从反应对象中的列中选择唯一值以用作输入选项,r,shiny,R,Shiny,我正在尝试制作一个闪亮的仪表板应用程序,其中下拉菜单中的可用选项是从被动数据对象中的列中检索的 目前,我的代码如下所示: library(shiny) library(shinydashboard) library(shinyWidgets) library(tidyverse) data <- reactiveFileReader( intervalMillis = 100000, NULL, filePath = 'Data\\data.csv', readFu
library(shiny)
library(shinydashboard)
library(shinyWidgets)
library(tidyverse)
data <- reactiveFileReader(
intervalMillis = 100000,
NULL,
filePath = 'Data\\data.csv',
readFunc = read.csv,
fileEncoding="UTF-8-BOM"
)
header <- dashboardHeader(title = "test")
sidebar <- dashboardSidebar(
sidebarMenu(
menuItem("plots", tabName = "plots"),
pickerInput('to','To:',
options = list(`actions-box` = TRUE, size = 10), multiple = TRUE,
choices = NULL)
)
)
fluid1 <- fluidRow(
box()
)
body <- dashboardBody(
tabItems(
tabItem(
tabName = 'plots', h2(fluid1)
)
)
)
ui <- dashboardPage(title = 'test', header, sidebar, body, skin='blue')
server <- function(input, output){
choices <- reactive({
data() %>%
select(to) %>%
unique()
})
observe({updatePickerInput('to',choices = choices())})
}
shinyApp(ui = ui, server = server)
我对使用shiny很陌生,所以我在解决这个问题时遇到了实际问题。
任何帮助都将不胜感激这经常出现。您可能有一个运行中的
闪亮
应用程序,其服务器
方法缺少会话
参数。但是,一旦您使用了诸如updatePickerInput
、updateSelectInput
、updateTextInput
等方法,就会遇到错误,因为它需要您将会话
传递给它。因此,您需要确保在服务器
函数中包含会话
参数:
server <- function(session, input, output) {
...
}
有关会话
对象的有用参考:
尝试在您的
updatePickerInput
语句中添加session
(updatePickerInput(session'to',choices=choices())
),并确保session
位于您的服务器函数中:server@Ben, thanks@Ben作为一些神奇互联网的答案发布points@hedgedandlevered当然-很乐意提供答案。
choices <- reactive({
data() %>%
select(to) %>%
unique()
})
Warning: Error in : $ operator is invalid for atomic vectors
server <- function(session, input, output) {
...
}
updatePickerInput(session, 'to', choices = choices())