如何将反应式rhandsontable重置为默认值?

2023-12-30

我正在构建一个应用程序,其中 2×2 表包含一些用于进一步计算的值。这些值可以由用户更新,并且用户将能够恢复到原始值。

我试图通过一个操作按钮来实现它,该按钮会将表重置为其原始值,但表不会更新。这是一个简化的示例:

rm(list = ls())
library(shiny)
library(rhandsontable)
library(shinyjs)

server <- shinyServer(function(input, output, session) {
                          DF = data.frame(A = c(1, 2), B = c(3, 4), row.names = c("C", "D"))

                          vals <- reactiveValues(reset = FALSE)

                          ## Initiate table
                          previous <- reactive({DF})

                          myChanges <- reactive({
                                         if(is.null(input$two_by_two)) {
                                                        return(previous())
                                         } else if(!identical(previous(),
                                                                         input$two_by_two)){
                                         mytable <- as.data.frame(hot_to_r(input$two_by_two))
                                         mytable
                                         }
                                                })
                          output$two_by_two <- renderRHandsontable({
                                         if(isolate(vals$reset) | is.null(input$two_by_two)) {
                                         isolate(vals$reset <- FALSE)
                                         df <- DF
                                         } else df <- myChanges()
                                         rhandsontable(df)
                                         })

                          fctout = reactive({2*myChanges()})

                          output$chg_data = renderTable({fctout()}, rownames = TRUE)

                          observeEvent(input$reset_input, {
                                           shinyjs::reset("test")
                                           vals$reset <- TRUE
                                       })
                      })
############ UI
ui <- shinyUI(fluidPage(
                  shinyjs::useShinyjs(),
                  id = "test",
                  h4("A table:"),
                  actionButton(inputId = "reset_input",
                               label = "Use example"),
                  br(),
                  rHandsontableOutput("two_by_two"),
                  br(),
                  tableOutput(outputId = "chg_data")
              ))

shinyApp(ui, server)

可以吗rhandsontable做出反应并由actionButton?


欢迎来到 Stackoverflow!

这是一个工作示例(降低了复杂性):

library(shiny)
library(rhandsontable)

server <- shinyServer(function(input, output, session) {
  DF <- data.frame(A = c(1, 2), B = c(3, 4), row.names = c("C", "D"))

  output$two_by_two <- renderRHandsontable({
    input$reset_input # trigger rendering on reset
    rhandsontable(DF)
  })

  output$chg_data = renderTable({
    hot_to_r(req({input$two_by_two}))*2}, rownames = TRUE)
})


ui <- shinyUI(fluidPage(
  h4("A table:"),
  actionButton(inputId = "reset_input", label = "Reset"),
  br(),
  rHandsontableOutput("two_by_two"),
  br(),
  tableOutput(outputId = "chg_data")
))

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

如何将反应式rhandsontable重置为默认值? 的相关文章

  • 有什么方法可以访问 makeActiveBinding 安装的函数吗?

    标题基本上说明了一切 如果我这样做 makeActiveBinding x function runif 2 GlobalEnv x 1 0 7332872 0 4707796 x 1 0 5500310 0 5013099 那我有什么办法
  • 直接来自数据的马尔可夫模型图(makovchain 或 deemod 包?)

    我想读取一堆因子数据并从中创建一个可以很好地可视化的转换矩阵 我发现了一个非常好的软件包 称为 heemod 它与 diagram 一起工作得不错 对于我的第一个快速而肮脏的方法 我运行了一段 Python 代码来获取矩阵 然后使用这个 R
  • dplyr::mutate 添加多个值

    网上有几个与此相关的问题dplyr Github 存储库 https github com hadley dplyr已经 并且至少有一个相关的问题 但没有一个问题完全涵盖了我的问题 我认为 在 dplyr mutate 调用中添加多列 ht
  • 如何计算满足条件的行数

    假设我有以下数据框 Data1 X1 X2 1 15 1 2 3 1 3 7 0 4 11 1 5 1 0 6 9 0 7 18 0 8 6 1 9 3 1 我想知道如何找到观察的总数X1大于 9 并且X2等于1 我想我需要使用sum 但我
  • 根据R中的特定行值将数据帧拆分为多个数据帧

    我需要根据数据帧中重复出现的标题行将数据帧拆分为 17 872 个数据帧 我需要将新创建的数据框存储在列表中 我的数据框看起来像 0 1 2 32 Alert Type Response 33 w1 x1 y1
  • 将儒略日期转换为 PosixCt 日期

    我发现自己在解决这个问题 我需要将 R 中的儒略日期转换为正常日期 YYYY MM DD 我知道我可以指定as Date julian date origin 但我不知道应该提供哪个来源 我的朱利安日期类似于 2458010 2458011
  • 为什么我收到保存错误、软盘错误的消息?

    我最近更新了 R 和 R studio 当我尝试保存文件时 收到一条错误消息 保存 文件名 时出错 驱动器中的软盘错误 将 2 卷序列号 3 插入驱动器 1 这是第一次看到这个错误信息 不知道该怎么办 我也无法 另存为 感谢您的帮助 尝试使
  • 将 dplyr 中的starts_with与部分列名称的向量一起使用

    我想使用 dplyr 选择与字符串向量匹配的某些列 one lt seq 1 10 two lt rnorm 10 three lt runif 10 1 2 four lt 10 1 df lt data frame one two th
  • 在 r 中使用 SSasymp

    我想我不知道如何在 r 中使用 SSasymp 函数 我想为我的项目创建一个渐近函数 我试过这个 c lt seq 0 200 0 5 d lt SSasymp c 500 0 log 50 plot c d type l log 50 应
  • 有条件地将字符串转换为特定数值

    我确信对此有一个简单的答案 但我已经扫描了堆栈溢出 但无法找到解决方案 似乎 sapply 和 ifelse 函数的组合可能可以完成这项工作 但我不确定 所以我有一个包含字符的数据框 除了一列是数值 Create dataframe whi
  • R中的引用调用(使用函数修改对象)

    我刚刚接触 R 很惊讶地发现函数不会修改对象 至少看起来这是默认的 例如 我编写了一个函数 只是为了在表格中的一个标签上粘贴一个星号 它在函数内部工作 但表本身没有改变 我主要来自Ruby 那么 在 R 中使用函数更改对象的正常 可接受的方
  • 将 XML 的所有字段(和子字段)导入为数据框

    为了进行一些分析 我想使用 R 和 XML 包将 XML 导入数据帧 XML 文件示例
  • 在 Microsoft Windows 上安装 RQuantLib

    我需要安装R包RQuantLib在 Microsoft Windows 计算机上 这个包没有二进制文件 所以我下载了 tar 源 我打开它 它包含 QuantLib C 库 所以我需要编译这个包 我不想安装 Visual Studio 我使
  • 寻找一种有效的方法来计算两个表中间隔集之间的重叠数量?

    注意 为了方便起见 我使用上一篇文章中的示例数据集 假设有两个数据集 ref and map 他们是 ref lt data table space rep nI 3 t1 c 100 300 500 t2 c 150 400 600 id
  • 按元素名称组合/合并列表

    我有两个列表 其元素的名称部分重叠 我需要将其逐个元素合并 组合成一个列表 gt lst1 lt list integers c 1 7 letters letters 1 5 words c two strings gt lst2 lt
  • 使用 geom_abline() 和 ggplot

    我是初学者ggplot2 距离我开始试验才过去 4 天 所以 如果这个问题听起来太基本了 我深表歉意 我很感激任何指导 我已经在这个问题上苦苦挣扎了大约一个小时 我正在尝试使用geom abline 如下 p lt ggplot mpg a
  • 基于 dplyr 中的向量创建新列

    With dplyr使用以下命令可以轻松创建新列mutate df lt data frame v1 1 3 v2 c a b c gt mutate df newcol NA v1 v2 newcol 1 1 a NA 2 2 b NA
  • 在r中的数据框中循环线性回归输出

    我有一个下面的数据集 我想在其中对每个国家和州进行线性回归 然后绑定数据集中的预测值 添加另外三列后的最终数据框 我已经对一个国家和一个地区进行了此操作 但想对每个国家和地区进行此操作 并将预测值 上限值和下限值放回到cbind的数据集中
  • R data.table 中的复杂求和涉及查看其他列

    我有一个数据表 其中变量的每个值v1 and v2有一个关联的 类型 在单独的列中编码 这是一个 MWE X lt data table id 1 5 group c 1 1 2 2 2 v1 c 10 12 14 16 18 type v
  • 包含多行 LaTeX 方程的 R 帮助页面

    我正在编写 R 包文档roxygen2 我想将以下多行方程插入到帮助页面中 但我的 LaTeX 代码没有被渲染 hello2 description deqn F t begin cases alpha t f L t 1 alpha t

随机推荐

  • 如何通过单击按钮更改文本颜色?

    我有如下文字 p strong em QUESTION WHAT IS YOUR NAME em strong p
  • 如何使用 bind_result 与 get_result 的示例

    我想看一个如何使用调用的示例bind result vs get result以及使用其中一种而不是另一种的目的是什么 还有使用每种方法的优点和缺点 使用这两种方法有什么限制 有什么区别吗 虽然这两种方法都适用 查询 当bind resul
  • 在单个查询中保存多行

    有没有办法让 cake 在单个查询中执行多行插入 而无需编写原始 SQL 来执行此操作 saveMany 和 saveAssociated 选项只会在单个事务中保存多行 但该事务包含多个插入语句 因此这些方法显然不是编写重型应用程序的解决方
  • Dozer 映射类级别是可访问的

    我正在使用推土机框架来克隆我的对象 我希望推土机框架在不使用 getter 和 setter 的情况下克隆数据 为此我在类级别设置 is accessible 属性 但这似乎不起作用 当我在字段级别设置 is accessible 时 它
  • 使用 Windows mklink 链接 2 个文件

    我试图在 Windows 上找到 nix 符号链接的等效项 并开始使用 mklink 问题是 作为普通用户 不是管理员 我可以使用 J 选项链接到文件夹 但无法链接到文件 我设法以管理员身份执行此操作 但我需要以标准用户身份执行此操作 为什
  • 为什么使用 Scala-IDE 的 Scala 工作表会给出此错误?

    在 Scala 工作表中我可以这样做 object Play println Playing a bit gt Playing a bit case class X a Int 1 x List X 但我不能这样做 object Play
  • JWT 实际上如何与 Spring MVC 一起创建令牌并验证令牌?

    我实际上希望获得更多 更清晰的理解JWT概念及其运作方式Spring MVC 我找到了链接https github com nielsutrecht jwt angular spring https github com nielsutre
  • REACT 应用程序调用安全的 Azure WEBAPI 服务 - 无用户

    我创建了一个简单的 REACT 应用程序 该应用程序仅在连接到我们网络上大屏幕的本地 PC 上运行 仅供内部使用 它就像广告牌或仪表板 零用户交互 屏幕不是触摸屏 也没有连接键盘和鼠标 因此没有用户可以登录 构建 REACT 应用程序 然后
  • Codeigniter flash 数据在某些浏览器中不起作用

    我在使用 Codeigniter flashdata 时遇到一些问题 在 Firefox 中似乎一切正常 但在 Chrome 以及我的移动 BB 浏览器 FWIW 中 页面之间似乎没有持久保存 flashdata 我还应该注意到 当我在本地
  • openssl 握手失败

    我正在尝试编写简单的 C openssl 客户端和服务器 这是客户的代码 int main int err SSL CTX ctx init ctx client cert pem client private pem certs cace
  • 当托管在 WinForms 容器中时,WPF ScrollViewer 不会接收鼠标事件

    我们有一个 WinForms 应用程序 我们正在逐步将其转换为 WPF 此时 应用程序的主窗体是一个 Form WinForms 其中包含 WPF 中内置的垂直侧边栏 侧边栏托管在 ElementHost 控件中 侧边栏由包含其他控件的 S
  • Sql查询性能慢

    我正在编写一个 SQL 查询 这给我带来了缓慢的性能 因此 它给我带来了 504 网关超时问题 请帮助我重新创建此查询 以便我的输出结果更快 我将把查询放在下面 select r c1 parent item c2 parent item
  • 类型“NSNotification.Name”没有成员“UITextField”

    在 Swift 4 2 中 出现以下错误 在 Swift 4 中工作正常 类型 NSNotification Name 没有成员 UITextField 这是我的错误代码 NotificationCenter default addObse
  • 以引用对象为标准的 mongoid 作用域

    我在 Rails 3 中的 Mongoid 模型有以下范围 class Expert include Mongoid Document referenced in category scope currently available lam
  • 在不违反 REST 的情况下处理长查询

    我们有一个 REST api 并且我们在坚持 REST 精神方面做得非常好 然而 我们有一个重要的消费者 他们请求一种方法来协调他们的数据存储 流程如下 消费者进行 GET 调用来检索在某个日期范围内创建的所有库存对象 假设这会返回 100
  • Antlr 数组帮助

    嘿 我开始在 java 中使用 Antlr 我想知道如何将一些值直接存储到二维数组中并返回该数组 我根本找不到任何关于此的教程 感谢所有帮助 假设您想要解析一个包含由空格分隔的数字的平面文本文件 您想将其解析为二维数组int其中每一行都是数
  • 为什么动态构造对于 php 编译器 (PHP) 来说很困难?

    我正在读保罗 比格的书http blog paulbiggar com archive a rant about php compilers in general and hiphop in pspecial http blog paulb
  • 无法使用集成在 P4 中创建新分支

    我在 P4 有一个分行 depot MyDemoInfo trunk Server My Service 在 My Service 下 存在我的整个源代码 现在 当我尝试从上面的主干分支创建一个新分支时 它给了我错误 我正在尝试创建一个新的
  • ggplot geom_tile 与面的间距

    我正在尝试制作一个按 x 轴上的两个离散变量排序的多面 ggplot 问题是我想让垂直相邻的条目全部接触 目前 行之间存在空间 具体取决于顶部图与底部图中因子的水平 抱歉 这个可重现的示例有点冗长 npats 20 simsympt c i
  • 如何将反应式rhandsontable重置为默认值?

    我正在构建一个应用程序 其中 2 2 表包含一些用于进一步计算的值 这些值可以由用户更新 并且用户将能够恢复到原始值 我试图通过一个操作按钮来实现它 该按钮会将表重置为其原始值 但表不会更新 这是一个简化的示例 rm list ls lib