如何重置reactiveValues?

2024-04-06

重置单个无功值只需通过reactiveVal(NULL)。然而怎样才能彻底重置reactiveValues()?

虚拟应用程序包含我的一些方法来保留新鲜和干净的反应值,但它们都没有真正做到我希望它们做的事情。此外,观察时似乎有一种奇怪的行为reactiveValues。清洁后它们不会引发反应,除非Trigger单击按钮。当我检查他们的状态时,他们对我来说看起来很好。

library(shiny)
library(magrittr)

# UI ---------------------------------------------------------------------------
ui <- fluidPage(
    actionButton("create", "Create"),
    actionButton("reset", "Reset"),
    actionButton("trigger", "Trigger"),
    textOutput("out")
)

# Server -----------------------------------------------------------------------
server <- function(input, output, session) {

    vals <- reactiveValues()
    ids <- reactiveVal()
    display <- reactiveVal()

    # insert letter when clicked
    observeEvent(input$create, {
        id <- as.character(length(ids()))
        vals[[id]] <- sample(LETTERS, 1)
        ids(c(ids(), id))
    })

    observeEvent(input$reset, {
        # Options to reset reactive Values -------------------------------------
        vals <<- reactiveValues()
        # vals <- NULL
        for(i in names(vals)) vals[[i]] <- NULL # deletes content but not the names

        # resetting reactiveVal() is easily done via NULL
        ids(NULL)
        display(NULL)
    })

    observe({
        if(input$trigger) browser()
        text <- reactiveValuesToList(vals) %>% paste(collapse = ", ")
        display(text)
    })

    output$out <- renderText(display())
}

shinyApp(ui, server)

P.S.:该示例并未完全精简,因为我希望它能够反映我实际的反应链。


显然你不能完全取消reactiveValues

看一眼 :

Shiny:如何使用actionButton初始化空的reactiveValues? https://stackoverflow.com/questions/52261240/shiny-how-to-initialize-empty-reactivevalues-with-an-actionbutton

闪亮:如何更新reactiveValues对象? https://stackoverflow.com/questions/26803536/shiny-how-to-update-a-reactivevalues-object

根据这两个问题的答案,作为一种解决方法,可以将列表中的值保存在reactiveValues对象中,您的代码将如下所示:

library(shiny)
library(magrittr)

# UI ---------------------------------------------------------------------------
ui <- fluidPage(
  actionButton("create", "Create"),
  actionButton("reset", "Reset"),
  actionButton("trigger", "Trigger"),
  textOutput("out")
)

# Server -----------------------------------------------------------------------
server <- function(input, output, session) {
  # initialize vals with a list
  vals <- reactiveValues('foo' = list())
  ids <- reactiveVal()
  display <- reactiveVal()

  observeEvent(input$create, {
    id <- as.character(length(ids()))
    # add values to the list
    vals$foo[[id]] <- sample(LETTERS, 1)
    ids(c(ids(), id))
  })

  observeEvent(input$reset, {
    # reset the list
    vals$foo <- NULL
    ids(NULL)
  })

  observe({
    # if(input$trigger) browser()
    text <- reactiveValuesToList(vals) %>% paste(collapse = ", ")
    display(text)
  })

  output$out <- renderText({
    text <- vals$foo %>% paste(collapse = ", ")
    display(text)
    display()
  })
}

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

如何重置reactiveValues? 的相关文章

  • 一段 R 代码会影响 foreach 输出中的随机数吗?

    我使用运行模拟foreach and doParallel并与随机数 名为random在代码中 简而言之 我模拟一个足球联赛 随机生成所有比赛的获胜者以及相应的结果 在dt base没有比赛进行 在dt ex1 and dt ex24场比赛
  • R中的字典数据结构

    在 R 中 我有 例如 gt foo lt list a 1 b 2 c 3 如果我输入foo I get a 1 1 b 1 2 c 1 3 我怎样才能看透foo仅获取 键 列表 在这种情况下 a b c R 列表可以具有命名元素 因此可
  • 为什么数据帧上的 is.vector 不返回 TRUE?

    tl dr R 中的向量到底是什么 长版 R 中很多东西都是向量 例如 数字是长度为 1 的数值向量 is vector 1 1 TRUE 列表也是一个向量 is vector list 1 1 TRUE 好的 所以列表是一个向量 显然 数
  • 尝试使用 JRI 将 R 与我的 Java 应用程序集成,但出现错误。谁能解释一下原因和解决办法吗?

    我需要将 Java 与 R 集成来运行一些数学命令并使用 R 的功能进行绘图 以下部分代码给出了错误 public static void main String args HelloRWorld r new HelloRWorld r h
  • 正态分布平均值的贝叶斯推理玩具 R 代码 [降雪量数据]

    我有一些降雪观测 x lt c 98 044 107 696 146 050 102 870 131 318 170 434 84 836 154 686 162 814 101 854 103 378 16 256 我被告知它遵循正态分布
  • 需要在R中按行绑定列表数据

    我在 R 中按行绑定列表时遇到问题 我的列表数据集是 id 1 data k 1 id k b c 1 1 1 3 data k 2 id k b c 1 2 1 4 id 2 data k 1 id k b c 2 1 1 6 data
  • 如何在 data.table 中分组后使用条件计算行数

    我有以下数据框 dat lt read csv s1 s2 v1 v2 a b 10 20 a b 22 NA a b 13 33 c d 3 NA c d 4 5 NA c d 10 20 dat gt A tibble 6 x 4 gt
  • 如何纠正 data.frame 上的字符编码

    我有一个像这样的数据框 data names lt data frame DATA c 1 5 rownames data names lt c IV xc1N JOS xc9 LUC xcdA RAM xd3N TO xd1O data
  • 我可以使用哪个 R 函数来查找两条线的交点?

    我刚刚研究了 stackoverflow 上所有的 在 R 中寻找交集 问题 它们要么是关于曲线 要么是关于分布像这个 https stackoverflow com questions 20519431 finding point of
  • 如何在 R 中的 for 循环内将值存储在向量中

    我正在开始使用 R 但我对以下问题感到非常沮丧 我试图将 for 循环内完成的某些计算的值存储到我之前定义的向量中 问题是如何进行索引 因为for循环迭代代码的次数取决于用户的输入 所以变量i不一定要从1开始 它可以从80开始 for举个例
  • `dplyr::_join` 函数的命名向量“by”参数[重复]

    这个问题在这里已经有答案了 我正在写一个函数dplyr join两个数据框by不同的列 第一个数据帧的列名称动态指定为函数参数 我相信我需要使用rlang准引用 元编程 但未能找到可行的解决方案 我很感激任何建议 library dplyr
  • sapply - 保留列名称

    我试图总结数据集中许多不同列 变量 的平均值 标准差等 我已经编写了自己的汇总函数 以准确返回我需要和正在使用的内容sapply立即将此函数应用于所有变量 它工作正常 但是返回的数据帧没有列名 我似乎甚至无法使用列号引用重命名它们 也就是说
  • 从 data.frame 在 ggplot 图例中添加信息

    我想在图例中添加信息 哪个传感器具有该值 这是我的代码 z lt data frame a c sensor 1 sensor 2 sensor 3 sensor 4 sensor 5 sensor 6 sensor 7 sensor 8
  • 在r中的某个阈值处破坏 cumsum() 函数

    例如我有以下代码 cumsum 1 100 我想打破它 如果一个元素 i 1 大于3000 我怎样才能做到这一点 因此 而不是这个结果 1 1 3 6 10 15 21 28 36 45 55 66 78 91 105 120 136 15
  • 在 Shiny 中显示反应式 htmlTable 表格

    我正在制作我的第一个 Shiny 应用程序 但找不到任何有关如何显示使用 htmlTable 包创建的表格的示例 我基本上想在按下按钮时创建一个表格并显示它 Shiny 显示 html 代码而不是表格 我不知道用什么替换服务器部分中的 re
  • R Shinydashboard 自定义 CSS 到 valueBox

    我一直在尝试将 valueBox 的颜色更改为自定义颜色 超出 validColors 中可用的颜色 但一直无法这样做 我知道有一种方法可以使用标签来包含自定义 CSS 但是我无法将它们放在正确的位置 ui lt dashboardPage
  • 在ggplot中设置y轴中断

    我在代码中设置中断时遇到困难 我尝试添加breaks seq 0 100 by 20 但似乎无法让它正常工作 本质上我希望 Y 轴从 0 到 100 每 20 个刻度一次 YearlyCI lt read table header T te
  • 为什么这个 R ggplot2 代码会显示一个空白的显示设备?

    虽然 SO 通常不用于帮助解决错误 但这个显示了特别简单且特别烦人的行为 如果你是一个ggplot2用户 您可以在 10 秒或更短的时间内重现它 正如这个 GitHub 问题 ggplot gtable 创建空白显示 https githu
  • dplyr:连接中的 NSE (by)

    我很难弄清楚如何使用 dplyr left join 和 NSE 连接两个表 问题是我无法为 by 提供正确的值 我想我现在已经找到了解决方案 但感觉我正在以一种额外复杂的方式来做 因此 如果您知道更简单 更优雅的解决方案 请告诉我 这就是
  • 要在子集中显示的非数字条目的维恩图

    我有以下数据框 SET1 SET2 SET3 par1 par2 par1 par2 par3 par2 par3 par4 par5 我想制作一个维恩图 其中所有这些 parX 元素都显示在各自的子集中 即作为标签 而不仅仅是重叠元素的数

随机推荐

  • 使用错误:未找到行魔术函数“%sql”

    reload ext sql sql sqlite 第二行无法编译 报告显示 UsageError Line magic function sql未找到 用Python3 8 jupyter笔记本 我使用 conda 安装 ipython
  • 测量库调用和回调之间的时间

    你好 在 iPhone 应用程序中 我使用一个库 C 它在计算完成时异步进行回调 现在我想测量在进行回调之前所花费的时间 包括调用库的方法 是否有可能使用 Apple 的 Instruments 应用程序来做到这一点 最佳实践是什么 过去
  • C++ 跨文件引用变量

    我有一个项目 需要在另一个 CPP 文件中引用一个 CPP 文件中声明的变量 这可能吗 如果是这样 怎么办 如果您将其声明为全局 顶级 位于任何函数定义之上 并使用 extern 这是可能的放在其他文件中以使编译器知道 Main cpp i
  • Ruby Mongodb 驱动程序 $gt 在日期条件下充当 $gte,为什么?

    我有一个奇怪的情况 gt and gteruby mongodb 驱动程序中的条件 所以这是代码 timeline timeline db find date gt gt s time username in gt followers ar
  • 如何在 Perl 中替换现有文件中的字符串

    我想在名为 1 classification dat 2 classification dat 等的所有文本文件中将 蓝色 一词替换为 红色 我想编辑同一个文件 所以我尝试了以下代码 但它不起作用 我哪里出错了 files glob cla
  • 使用python更改Windows快捷方式.lnk文件的图标

    我想更改a的图标 lnk我创建后的文件 到目前为止 这是我的主要代码 import win32com client shell win32com client Dispatch WScript Shell shortcut shell Cr
  • 如何使用 Python 3.4.2 在 Windows 7 中安装 scipy

    我安装时遇到问题scipy 当我跑步时 python m pip install scipy 我收到以下消息 C Python34 lib site packages pip main py run on 01 14 15 15 56 16
  • 如何检测flutter webview中内部html何时发生变化

    我在用着webview flutter https pub dev packages webview flutter要从 Flutter 应用程序上的 URL 查看页面 我需要做的是检测 HTML 代码中何时发生更改 而不更改 URL 因为
  • 在 Swift 中的一处导入整个项目的框架?

    我自己做了一个Cocoa Touch Framework 并且我只想将其导入到代码中的一处 在 Xcode Objective C 的早期版本中 有一个中心位置位于Supporting Files 它如何适用于基于 Swift 的项目 创建
  • 将 JSON 查询条件转换为 MongoDB/Mongoose 操作

    我正在客户端使用 Angular 8 构建一个应用程序 在服务器端使用 NodeJS 12 和 MongoDB 4 Mongoose 5 构建一个应用程序 我有一个由以下生成的查询角度查询构建器模块 https www npmjs com
  • 对列表中的 Erlang 记录进行排序?

    我在erlang中有一条记录 record myrec id 0 price 0 quantity 0 然后 我有一个记录列表 我想按 id 和价格按降序和升序排序 其中价格是第一个键 如果两个记录具有相同的价格 我想按 id 对它们进行排
  • 声明一个元素数量为 0 的数组仍然可以存储值

    我知道使用负索引纯粹是运气 但出于好奇我尝试了这个 我知道你可以声明 array 0 就像 malloc 0 一样 是合法的 但是我为什么可以在 array 0 中存储一个值呢 include
  • 使用 Instagram Basic Display API 时出现“无效平台应用程序”错误

    我正在尝试使用 Instagram Basic 显示 API 但是当我发布授权代码以获取访问令牌时 我不断收到以下错误 有人能帮我解决这个问题吗 Error error type OAuthException code 400 error
  • 跳出嵌套循环

    如果我有一个嵌套在另一个循环中的 for 循环 我怎样才能以最快的方式有效地退出两个循环 内部和外部 我不想使用布尔值 然后不得不说转到另一个方法 而只是执行外循环之后的第一行代码 有什么快速又好的方法可以解决这个问题 我认为异常并不便宜
  • 如何在 Visual Basic 2012 中对日期使用 BindingSource.Filter?

    我正在尝试过滤我的数据库以显示从我表单上的日历中选择的日期的所有预订 这是我写的代码 Public selDate As DateTime Dim response As Integer Public Sub FilterBooking s
  • Angularjs jquery UI 自动完成

    我正在尝试在 Angular 指令中实现 jquery 的自动完成功能 我收到的源数据来自 websocket 响应 它不起作用 我认为响应延迟导致了这里的问题 如果有人能解释下面的代码 我将不胜感激 是否有任何优雅的技术可以使用某种请求
  • 创建新的 django 项目时出现 Pydev 错误

    每次我使用钛 eclipse 和 pydev 创建一个新的 django 项目时 我都会收到此错误 实际上 它确实创建了文件settings py 我想知道是什么导致了这个错误以及如何修复它 这实际上是 Django 1 4 的 PyDev
  • 枚举程序集的所有已安装版本(在 GAC 中)

    是否可以使用 C 枚举 GAC 中程序集的所有已安装版本 例如 我有一个名为 My Assembly 的程序集 该程序集可能有各种版本 1 0 0 0 2 3 4 5 0 1 2 4 等 并且可以针对各种平台 x86 x64 任何 CPU
  • HTML 输入不更新值

    我有一个非常奇怪的问题 至少对我来说 我动态创建文本框 效果很好 但问题是 当我尝试写入这些内容时 如果我检查 html 代码 我写入的值不会出现 我不知道为什么会发生这种情况 也不知道如何解决这个问题 这是我的代码示例 ul class
  • 如何重置reactiveValues?

    重置单个无功值只需通过reactiveVal NULL 然而怎样才能彻底重置reactiveValues 虚拟应用程序包含我的一些方法来保留新鲜和干净的反应值 但它们都没有真正做到我希望它们做的事情 此外 观察时似乎有一种奇怪的行为reac