如何删除闪亮的renderUI中的输入?

2024-02-11

在我闪亮的应用程序中,我有一个使用 renderUI 的动态输入。

这工作得很好,程序的另一部分捕获滑块的输入。

当应用程序状态发生变化时(例如,当按下“更新模型”按钮时),我仍然需要显示/使用具有类似标签的滑块,但由于它们是“新的”,因此需要将值重新初始化为零。

问题是滑块有记忆。如果我重复使用相同的 inputId

  paste0(Labv[i], "_v",buttn)

闪亮的将具有与其关联的旧值。

目前我的代码正在使用变量buttn绕过这个问题:每次状态改变时我都会创建“新”滑块。

另一方面,用户使用该应用程序的次数越多,就会有越多的垃圾被收集到shiny中。

我尝试使用 renderUI 将元素列表发送为 NULL,尝试发送元素列表

updateTextInput(session, paste0(lbs[i],"_v",buttn),
            label = NULL,  value = NULL )

or tags$div("foo", NULL)但在每种情况下,实际变量都呈现为文本,这是最糟糕的!

# Added simplified example
library(shiny)
library(data.table)

#
dt_ = data.table( Month = month.abb[1:5],
A=rnorm(5, mean = 5, sd = 4),
B=rnorm(5, mean = 5, sd = 4),
C=rnorm(5, mean = 5, sd = 4),
D=rnorm(5, mean = 5, sd = 4),
E=rnorm(5, mean = 5, sd = 4))

dt_[,id :=.I]
dt <- copy(dt_)
setkey(dt_, "Month") 
setkey(dt, "Month")

shinyApp(
  ui = fluidPage(
fluidRow(
  column(4, 
    actionButton("saveButton", "Update Model"))),
fluidRow(
  column(6, dataTableOutput('DT')),
  column(3, br(),br(),checkboxGroupInput("pick",h6("Picker"), 
    month.abb[1:5])),  
  column(3, uiOutput('foo'))),
fluidRow(
  column(4, verbatimTextOutput('vals')))    
  ),

  server = function(session,input, output) {
    valPpu <- reactiveValues()

    valPpu$buttonF <- 1
    valPpu$dt_ <- dt_
##
  output$DT <- renderDataTable({
  if(length(input$pick) > 0 ) {
# browser()
    isolate( { labs <- input$pick } ) # 
    buttn <- valPpu$buttonF

    iter <- length(labs)   
    valLabs <- sapply(1:iter, function(i) {
            as.numeric(input[[paste0(labs[i],"_v",buttn)]]) })

    if( iter == sum(sapply(valLabs,length)) ) {        

          cPerc <- valLabs
          cPerc <- as.data.table(cPerc)
          cPercDt <- cbind(Month=labs,cPerc)

          ival <- which(dt[["Month"]] 
              %in% cPercDt[["Month"]])
          setkey(cPercDt, "Month") 
          for(j in LETTERS[1:5]) set(dt_, i=ival, 
          j=j, dt[cPercDt][[j]] * (1 + dt_[cPercDt][["cPerc"]]) )
          valPpu$dt_ <- dt_
  } }

  dt_[order(id),]
  }, options = list(
  scrollX = TRUE,
  scrollY = "250px" ,
  scrollCollapse = TRUE,
  paging = FALSE,
  searching = FALSE,
  ordering = FALSE )
)
##
  output$foo <- renderUI({
    if(is.null(input$saveButton)) { return() }
    if(length(input$pick) > 0 ) {
      labs <-  input$pick 
      iter <- length(labs)
      buttn <- isolate(valPpu$buttonF )
      valLabs <- sapply(1:iter, function(i) {
      if(is.null(input[[paste0(labs[i],"_v",buttn)]] )) {
                0
      } else {  as.numeric(input[[paste0(labs[i],"_v",buttn)]])  }
      }) 
  #
  toRender <- lapply(1:iter, function(i) {
    sliderInput(inputId = paste0(labs[i], "_v",buttn),
                label =  h6(paste0(labs[i],"")),
                min = -1,
                max = 1,
                step = 0.01,
                value = valLabs[i],
                # format = "##0.#%",
                ticks = FALSE, animate = FALSE)
                })

      toRender
    }
    })


    observe({

  if(is.null(input$saveButton)) { return() }
  if(input$saveButton < valPpu$buttonF) { return() }
  valPpu$buttonF <- valPpu$buttonF + 1
  dt <<- valPpu$dt_
# TODO: add proper saving code  
})
  }
)

在实际的应用程序中,checkboxGroupInput 也是通过 renderUI 从服务器驱动的,并在按下“更新模型”时重置。另外,UI 中还有更多“事件”我没有添加到代码中。

任何想法?


所以你目前的方法实际上works。 FWIW,滑块已从 HTML 中删除,因此您无需担心这一点。对于存储在中的旧值input, 例如input[['Jan_v1']]当按钮被点击两次时(你只需要input[['Jan_v2']]),我不明白为什么你这么关心它们,除非你的总内存小于几千字节,因为你只需要几个字节来存储这些值。您可能确实无法从中删除这些值input,但我建议您不要花时间在这个问题上,直到它成为真正的问题。

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

如何删除闪亮的renderUI中的输入? 的相关文章

  • R - Plm 和 lm - 固定效应

    我有一个平衡面板数据集 df 本质上由三个变量组成 A B and Y 对于一堆独特识别的区域来说 它会随着时间的推移而变化 我想运行一个回归 其中包括区域 下面等式中的区域 和时间 年份 固定效应 如果我没记错的话 我可以通过不同的方式来
  • 如何使用 R 计算成为列表中中位数的概率?

    假设我有以下数据集 其中显示了假设实验的每个状态的三个观察结果的列表 state lt c Iowa Minnesota Illinois outcome lt list c 5 11 11 c 3 12 8 c 9 14 2 dat lt
  • 选择 R 中的数据表中隐藏时(在绿色加号下方)列的显示顺序

    Context 使用 DataTables 库制作交互式表格时 当屏幕宽度对于列的数量和宽度来说太窄时 列将隐藏在绿色 号下 我有一个非常宽的表格 有 20 多列 其中一些内容非常冗长 因此某些列在所有屏幕宽度下总是隐藏的 每次隐藏新列时
  • 将数据框中的每个 x 个字符拆分为字符串

    我知道这里有一些关于每隔一段时间分割一个字符串的答案nth字符 例如this one https stackoverflow com questions 23208490 split each character in r and this
  • 尝试读取 CSV 文件时出现“无法识别的字符串转义”

    我正在尝试导入一个 csv文件 以便我可以观看此视频 R ggplot2 图形直方图 http www youtube com watch v 47kWynt3b6M 我安装了所有正确的软件包 包括ggplot以及相关的包 视频中的第一个说
  • pyomo + 网状错误 6 句柄无效

    我正在尝试运行pyomo优化 我收到错误消息 Error 6 The handle is invalid 不知道如何解释它 环顾四周似乎与特权有关 但我不太明白 在下面找到完整的错误跟踪以及重现它的玩具示例 完整的错误跟踪 py run f
  • 在 R 中创建虚拟变量,排除某些情况为 NA

    我的数据看起来像这样 V1 V2 A 0 B 1 C 2 D 3 E 4 F 5 G 9 我想创建一个虚拟变量R where 0 1 1 2 3 4 and NA 0 5 9 应该很简单 有人可以帮忙吗 我们可以转换V2 into a fa
  • 以引用透明的方式从函数的省略号参数中提取符号

    事情又发生了 我正要按下发布答案按钮的问题被删除了 我正在寻找一种方法来从函数的省略号参数中提取绑定到符号的对象的值以及符号 也就是说 我试图以引用透明的方式从省略号中提取符号 我尝试过使用替代品和lazy dots 但没有成功 funct
  • 在 R 中使用 lapply 绘制多个数据帧

    我正在尝试使用 lapply 函数绘制多个数据帧 每个数据帧一个图 但是尽管有关此主题的所有帖子我都找不到答案 因为我不断收到错误 图的输出列表为空 我的数据结构如下 df1 lt mtcars gt group by cyl gt tal
  • 基于时间窗口的不规则时间序列的优化滚动函数

    有没有办法使用 rollapply 来自zoo包或类似的东西 优化功能 rollmean rollmedian等 使用基于时间的窗口计算滚动函数 而不是基于大量观察的函数 我想要的很简单 对于不规则时间序列中的每个元素 我想计算一个具有 N
  • 更改闪亮 R 中的默认浏览器

    我在 RStudio 中使用 01 hello 虽然在 IE 中默认打开程序时它不会显示直方图 但即使在 Chrome 中 滑块也不起作用 我无法滑动条形图并看到直方图中的变化 如何更改 R 中的默认浏览器 以便闪亮启动 Chrome 而不
  • 如何在 R 中匹配多个 ggplot2 图中的调色板?

    自从被问到这个问题以来已经有一段时间了 但我知道一个事实 我很快就会提取新数据 我想弄清楚如何用这种技术来绘制它 看起来评论和答案中的人知道如何做到这一点 但我无法完全弄清楚所给我的内容 还有人想尝试一下吗 我正在尝试使用具有多个级别的因子
  • 使用 ggmap 截断密度多边形

    我在使用 R ggmap 绘制密度图时遇到问题 我的数据如下所示 gt head W date lat lon dist 1 2010 01 01 31 942 86 659 292 415 2 2010 01 10 32 970 84 1
  • R:如何获取该月的周数

    我是 R 新手 我想要该日期所属月份的周数 通过使用以下代码 gt CurrentDate lt Sys Date gt Week Number lt format CurrentDate format U gt Week Number 3
  • R 中用于调用 sed、rsync、ssh 等的 system() 的替代方案:函数是否存在,我应该编写自己的函数,还是我错过了重点?

    最近 我发现了base files命令 与其他命令一起使用 例如getwd write lines file show dir等等 似乎有许多 bash 函数的 R 等价物 我还在 R 中编写了一些函数来简化对ssh and rsync通过
  • 删除极坐标图边缘的多余空间和圆环

    我有一个极坐标图ggplot2我已经非常接近完成 相当简单的情节 我已经能够在删除矩形边框方面获得帮助 但我不需要删除最后一个范围轮廓与带有方位角标签的绘图周围的环之间的额外空间 我希望该图的边界为 15 000 而不是 15 214 我编
  • SPSS 中的标准化残差与 R rstandard(lm()) 不匹配

    在寻找 R 相关解决方案时 我发现 R 和 SPSS 版本 24 在计算简单线性模型中的标准化残差方面存在一些不一致 看来SPSS所谓的标准化残差匹配 R学生化残差 我完全不认为某处存在软件错误 但显然这两个程序之间存在差异 看看这个例子
  • 如何使用 tidymodels 和工作流集在同一数据集上拟合多个不同的线性模型

    我想评估同一数据集上多个 主要是 线性回归模型的性能 我想也许使用tidymodels包连同workflowsets workflow set 可能会起作用 我按照这个例子here https workflowsets tidymodels
  • 如何将plot中的单变量列表图表转换为ggplot2格式?

    我正在搜索 但仍然找不到一个非常简单的问题的答案 我们如何使用 R 中的 ggplot2 生成一个变量的简单线图 我正在分析时间序列数据 并且想要对图表进行更复杂的操作 我认为如果我使用 ggplot2 代替会更好plot It works
  • 线性判别分析图

    如何将样本 ID 行号 作为标签添加到此 LDA 图中的每个点 library MASS ldaobject lt lda Species data iris plot ldaobject panel function x y points

随机推荐

  • 如何配置 pom.xml 文件以使用 Nexus 存储库管理器

    我在用Redhat java 1 7 maven 3 2 5 jenkins 1 6 git version 2 0 5 and nexus 2 12 0 01 我创建了一个本地Nexus Repository为了我的内在发展 现在我想做的
  • SQL Server Express 和 SQL Server 2005 上的事务隔离和读取多个表

    我有一个数据库 其中有一个主表 我们称之为所有者 和几个包含资产的子表 如汽车 书籍等 例如 Owner有列 owner id name Cars有列 owner id foreign key brand Books有列 owner id
  • 在没有 WWW-Authenticate 的情况下返回 AJAX 响应的 HTTP 401 状态

    可以退货吗HTTP 401如果您希望表明用户尚未登录 即使登录机制是基于表单而不是基于 HTTP 基本 摘要等 AJAX 调用响应的状态 这里的答案建议应该使用 401 https stackoverflow com a 6937030 2
  • 使用 pd.read_json 读取 JSON 文件时出现 ValueError 错误

    我正在尝试使用 pandas 读取 JSON 文件 import pandas as pd df pd read json https data gov in node 305681 datastore export json I get
  • 定期将数据从 mexFile 发送到 MATLAB

    我现在正在开发一个完全编写的数据采集工具 在 MATLAB 中 我用 MATLAB 写这个东西是我同事的愿望 以便他们可以扩展和修改它 该软件需要从两个连接的 USB 摄像头抓取照片 这些相机的 API 是用 C 编写的并记录在案 gt H
  • 在父级单击时触发事件,但在子级单击时不触发事件

    如果我有一个绝对定位的父 div 然后有一个具有较高 z index 且相对定位的子 div 有没有办法仅在父 div 被单击而不是内部 div 时才注册单击事件 相关jsFiddle http jsfiddle net Bt5HA 更新了
  • 通过将参数传递给 codeigniter 中的构造函数来加载库

    我正在使用代码点火器 我在 code igniter 中定义了一个库 并期望在其构造函数中包含一个参数 这是我的库代码 My Library Code Test lib php
  • strcpy 传递初始化的空指针 c [重复]

    这个问题在这里已经有答案了 我正在尝试以下代码 int main char yo yo char whaddup NULL strcpy whaddup yo 我遇到了段错误 在这里完成 C 菜鸟 其他地方说我应该初始化whaddup作为一
  • EF4 + MVVM - 在 ViewModel 中公开实体?

    我尝试过模型 视图 视图模型的一些不同实现 并且经常遇到我不确定正确的继续方法的情况 我知道 MVVM 的目标之一是将视图与应用程序逻辑解耦 以便可以在没有视图的情况下测试逻辑 将逻辑放入不依赖于 View 的 ViewModel 中可以解
  • 下载 Azure Web 应用程序?

    我刚刚开设了一个免费的 Azure 试用帐户 并通过各种表格创建了一个测试 Web 应用程序 但是 我想使用 Visual Studio 2015 在本地编辑源文件 是否可以下载注册期间生成的文件 如果可以 如何下载 谢谢你的帮助 您可以使
  • 如何将可变宽度的浮动元素水平居中?

    如何将可变宽度的浮动元素水平居中 编辑 我已经使用包含的div对于浮动元素并指定width对于容器 然后使用margin 0 auto 对于容器 我只是想知道是否可以在不使用包含元素的情况下完成 或者至少不需要指定width对于包含元素 假
  • 编写拼字游戏的算法

    我正在研究一个类似填字游戏的问题 但我不知道如何设计算法 例如 字典里有 汽车 苹果 等词 黑板上给出了 app 一词 有像 l e c r 这样的字母用于造词 所以算法的任务是生成存储在字典中的正确单词 app gt lapp gt le
  • 如何检查字符串是否为数字 Julia

    一直在互联网上搜索试图弄清楚这一点 尝试过isnumeric 但这仅适用于AbstractChar 我宁愿不用tryparse如果可能的话 但如果这是唯一的解决方案 那就这样吧 如果是的话 为什么还没有实现检查字符串是否为数字的函数 我发现
  • BasicAuth、OAuth 和 XAuth 之间有什么区别?

    最近我听说 Twitter 将关闭 Twitter API 上的基本身份验证 并转向 OAuth 所以我想知道BasicAuth OAuth 和XAuth 之间有什么区别 每个 Auth 的优点和缺点是什么 xAuth 是 OAuth 的简
  • 如何将Rtools\bin添加到R中的系统路径

    我正在运行一个闪亮的应用程序https github com MikeJSeo SAM https github com MikeJSeo SAM以及访问它的代码 install packages c samr matrixStats GS
  • Google Analytics Gtag 多个 Analytics 帐户跟踪 ID

    据我所知 谷歌现在似乎正在逐步淘汰analytics js 转而使用他们的标签管理器 如何为多个分析帐户触发 Google Analytics 新的 gtag 跟踪代码 像这样的事情
  • ggplot:根据用户定义的颜色按组划分颜色点

    我试图定义 ggplot 中绘制的点组的颜色 我改编了这篇文章的代码 根据定义的颜色代码为 ggplot 点着色 https stackoverflow com questions 9827193 color ggplot points b
  • NuSOAP 和数组响应

    我有 NuSOAP 网络服务器 server gt register getMembersEvents array date gt xsd string array Events gt tns Events urn my false rpc
  • R:如何读取列线图来预测所需的变量

    我正在使用 Rstudio 我使用函数创建了列线图nomogram从包装中rms使用以下代码 从示例代码复制文档 http www inside r org packages cran rms docs nomogram library r
  • 如何删除闪亮的renderUI中的输入?

    在我闪亮的应用程序中 我有一个使用 renderUI 的动态输入 这工作得很好 程序的另一部分捕获滑块的输入 当应用程序状态发生变化时 例如 当按下 更新模型 按钮时 我仍然需要显示 使用具有类似标签的滑块 但由于它们是 新的 因此需要将值