闪亮:updateSelectizeInput 抛出错误“$ 运算符对于原子向量无效”

2023-12-30

我是闪亮的新手,很难弄清楚这一点。我试图在 selectizeInput 中创建一个“全选”按钮,但在将输入从 selectizeInput 传递到 updateSelectizeInput 时遇到错误。有人可以帮我解决这个问题吗?

当我从输入框中选择“全选”时,应用程序关闭并显示错误:“$ 运算符对于原子向量无效”

我在输入字段(selectizeInput())中添加了“全选”。当用户单击“全选”时,updateSelectizeInput() 将添加输入中的所有名称与“全选”之间的设置差异,并用所有值填充过滤器框。

脚本的数据:https://drive.google.com/file/d/0B_sB3ef_9RntOWJjNlhrUjk3a1k/view https://drive.google.com/file/d/0B_sB3ef_9RntOWJjNlhrUjk3a1k/view

这是我的脚本

UI.R

library(shiny)
shinyUI(fluidPage(
  navbarPage(
    "Tab_name",
    tabPanel("Engine",
             bootstrapPage(
               div(style="display:inline-block", fileInput("file_attr", "attributes:")),
               uiOutput("CountryList")
             )         
    )
  )
))

Server.R

library(shiny)
shinyServer(function(input, output) {     
  data_attr <- reactive({
      file1 <- input$file_attr
      if(is.null(file1)){return()} 
      read.table(file=file1$datapath, sep=",", header = TRUE, stringsAsFactors = FALSE)       
    })

    countries <- reactive({
      if(is.null(data_attr()$Country)){return()}
      data_attr()$Country
    })  

    observeEvent(input$file_attr, {
      output$CountryList <- renderUI({
        if(is.null(data_attr()$Country)){return()}
        selectizeInput('show_vars', 'Country Filter', choices = c("Select All",unique(countries())), multiple = TRUE)
      })
    }) 

    observe({
      if ("Select All" %in% input$show_vars){
        selected_choices <- setdiff(c("Select All",unique(countries())), "Select All")
        updateSelectizeInput('show_vars', 'Country Filter', selected = selected_choices)

      }

    })

  })

当我们从 UI 的输入字段中选择“全选”时,会出现错误

Warning: Error in $: $ operator is invalid for atomic vectors
Stack trace (innermost first):
    58: updateSelectInput
    57: updateSelectizeInput
    56: observerFunc [C:\Users\naresh.ambati\Documents\dummt/server.R#30]
     1: runApp
ERROR: [on_request_read] connection reset by peer

Thanks!


该错误是因为您已将参数传递给更新updateSelectizeInput是不正确的。您需要通过session对象作为第一个参数。在你的情况下,它应该是这样的:

updateSelectizeInput(session,'show_vars', 'Country Filter', selected = selected_choices)

当您定义服务器函数时,您需要传递session对象如下:

shinyServer(function(input, output, session) { 

.......

} 

希望能帮助到你!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

闪亮:updateSelectizeInput 抛出错误“$ 运算符对于原子向量无效” 的相关文章

  • 无效的命令名称“tk_chooseDirectory”错误

    我使用 bioconductor 进行 WES 管道 并使用 tk choose dir 选择用户存储输入文件的目录 并将其存储以供进一步使用 这里是命令行 library tcltk dataDir lt dirname tk choos
  • tidyverse 干扰 ggplot2 吗?无法访问map_data

    在控制台中运行这些命令 输出为 gt cty0 ggplot2 map data county gt library tidyverse Loading tidyverse ggplot2 Loading tidyverse tibble
  • dplyr:带引号变量名的 mutate 的标准评估

    我将如何使用mutate 我的假设是我正在寻找标准评价就我而言 因此mutate 但我对此并不完全有信心 当使用接受变量名列表的函数时 如下所示 createSum function data variableNames data gt m
  • 关于子组的新列和另一列中的百分比范围

    我有一个如下所示的示例 df df test lt data frame Group Name c Group1 Group2 Group1 Group2 Group2 Group2 Group1 Sub group name c A A
  • 如何更改 r 中的树状图标签

    我在 R 中有一个树形图 它基于使用 hclust 的分层聚类 我正在对不同颜色的标签进行着色 但是当我尝试使用以下命令更改树图的标签 集群所基于的数据帧的行 时dendrogram dendrogram gt set labels dat
  • 在 R 中安全地计算算术表达式?

    Edit 好吧 由于似乎有很多混乱 我将稍微简化一下问题 您可以尝试回答下面的原始问题 或者您可以解决此版本并忽略该行下面的所有内容 我的目标是采用任意表达式并在极其受限的环境中对其进行评估 该环境将仅包含具有以下类型值的变量 数值向量 接
  • mlogit:需要 TRUE/FALSE 时缺少值

    我有来自离散选择实验 DCE 的数据 该实验研究了来自不同行业的个人的招聘偏好 我已经格式化为长格式 我想使用 mlogit 进行建模 我已导出数据 并且可以使用 asclogit 命令在 Stata 中成功运行模型 但在 R 中运行时遇到
  • 如何在R中将英尺转换为厘米?

    我得到了一个高度的字符向量 如下所示 859 5 10 5 8 5 11 6 0 5 10 6 2 5 11 6 2 6 2 5 7 5 9 5 7 6 1 6 0 5 11 6 0 6 5 6 1 6 1 5 10 5 11 5 11 6
  • R - 通过合并和超过 2 个后缀进行减少(或者:如何合并多个数据帧并跟踪列)

    我正在尝试基于 2 列合并 4 个数据帧 但要跟踪列源自哪个数据帧 我在跟踪列时遇到问题 参见 dput dfs 帖子末尾 df example df1 Name Color Freq banana yellow 3 apple red 1
  • R中使用余弦距离的层次聚类

    我想通过使用余弦相似度与 R 编程语言对文档语料库进行层次聚类 但出现以下错误 if is na n n gt 65536L stop 大小不能为 NA 或 超过 65536 需要 TRUE FALSE 时缺少值 我应该怎么办 为了重现它
  • R 中的点图每行有多个值

    我有以下 R 输入文件 car 1 car 2 car 3 car2 1 car2 2 car2 3 然后 我使用以下命令来绘制图表 autos data 点图 autos data V2 autos data V1 但这将每个汽车和 ca
  • 使用faceting()时如何连接geom_point()和geom_line?

    我有一个问题 但我在互联网上没有找到任何相关信息 我很高兴得到一些提示 我有一个数据集 其中 x 轴是离散的 但我想将这些点相互连接 我可以做到 我的问题是当我添加分面选项时 我无法再将这些点相互链接起来 我找到了一个替代方案 但看起来不太
  • 按组复制数据框

    我有以下数据框 df structure list Group c 1 1 1 1 2 2 2 2 2 2 3 3 3 index c 1 2 3 4 1 2 3 4 5 6 1 2 3 row names c NA 13L class c
  • R 中具有 p 值的相关矩阵

    假设我想要传导相关矩阵 library dplyr data iris iris gt select if is numeric gt cor y iris Petal Width method spearman gt round 2 现在
  • 如何在R中创建for循环? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在 R 编程中启动 for 循环 https stackoverflow com questions 4162363 how to start a for loop in r programmin
  • 如何不显示 ggplot 轴上的所有标签?

    I m trying to using ggplot2 to plot this But as you can see on the x axis you can t read anything 那么如何在 x 轴上显示每 10 年的值呢
  • 如何创建 highcharter 事件函数以在 Shiny R 中创建“下拉函数”

    我正在建造一个shiny应用程序 我想要完成的事情之一是创建一个下拉菜单 我想将劳动力变量绘制为不同级别的年份变量的函数 请参阅下面的示例数据框 year level 2 level 3 labour 1 2013 10 101 1 2 2
  • 基本 dyplr 函数给出错误:“check_dots_used”

    试图找出为什么我会收到此错误 以前从未见过 谷歌没有帮助 check dots used action warn 中的错误 未使用参数 action warn 我在下面的非常基本的试验中收到错误 而且在 group by count 中也收
  • ggplot2 + 使用比例 X 的日期结构

    我真的需要帮助 因为我已经迷路了 我正在尝试创建一个折线图 显示几个团队一年来的表现 我将一年分为几个季度 2012 年 1 月 1 日 2012 年 4 月 1 日 2012 年 8 月 1 日 12 1 12 并将 csv 数据帧加载到
  • 从 leafletProxy() 返回渲染的传单地图

    是否可以在渲染后在 Shiny 中检索传单地图 下面是一个代码示例 展示了如何生成地图leaflet 与返回的不同leafletProxy 即使它们在渲染时看起来完全相同 是否有一个功能可能不同于leafletProxy 获取实际的 htm

随机推荐