判断shiny app中是否点击了DT数据表

2024-01-31

这是我获取表格点击事件的最佳尝试的一个工作示例:

library(shiny)
library(DT)

runApp(shinyApp(
  ui = fluidPage(DT::dataTableOutput('table')),
  server = function(input, output, session) {
    output$table <- DT::renderDataTable({
      dt <- data.frame(a = 1)
      datatable(dt, rownames = FALSE, selection = 'none')
    })
    observeEvent(input$table_cell_clicked, {
      print(Sys.time())
    })}
))

问题是observeEvent仅当用户单击与之前单击的单元格不同时才会做出反应。有没有办法在任何表点击上获取事件?


我认为这可能会有所帮助

Try add callback with Shiny.onInputChange并添加一直改变的东西(rnd)

喜欢smt

   JS("table.on('click.dt', 'td', function() {
            var row_=table.cell(this).index().row;
            var col=table.cell(this).index().column;
            var rnd= Math.random();
            var data = [row_, col, rnd];
           Shiny.onInputChange('rows',data );
    });")

然后像这样使用它:

library(shiny)
library(DT)
runApp(shinyApp(
  ui = fluidPage(DT::dataTableOutput('table')),
  server = function(input, output, session) {
    output$table <- DT::renderDataTable({
      datatable(data.frame(a = c(1,2),b=c(2,3)), rownames = FALSE, selection = 'none', callback = JS("table.on('click.dt', 'td', function() {
            var row_=table.cell(this).index().row;
            var col=table.cell(this).index().column;
            var rnd= Math.random();
            var data = [row_, col, rnd];
           Shiny.onInputChange('rows',data );
    });")
      )}
    )

    observeEvent(input$rows, {
      print(input$rows)
      print(Sys.time())

    })}
))

然后解析全部row and col from input$rows

附言。在数据表中索引从 0 开始。

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

判断shiny app中是否点击了DT数据表 的相关文章

  • R 用簇绘制热图,但隐藏树状图

    默认情况下 Rheatmap将聚集行和列 mtscaled as matrix scale mtcars heatmap mtscaled scale none 我可以禁用集群 heatmap mtscaled Colv NA Rowv N
  • 通过另一个函数将数据和列名称传递给 ggplot

    我将直接跳到一个示例并在后进行评论 cont lt data frame value c 1 20 variable c 1 20 1 20 1 5 1 20 2 group rep c 1 2 3 each 20 value variab
  • selectInput 的动态数量

    我是闪亮的新手 所以这可能是一个非常基本的问题 我想编写一个闪亮的应用程序 其中用户输入 n 我们得到 n 个 selectInput 选项 但我无法做到这一点 基本上任何形式的 for 循环都不起作用 我尝试的代码如下 library s
  • spplot 的图例范围和颜色分布问题

    我的绘图和图例中的颜色范围是否正确存在问题 这是我使用的代码 data ch4 lt read csv2 v42 CH4 1970 TOT txt skip 3 stringsAsFactors FALSE header F num dat
  • 使用两列数据分割数据帧并对结果数据帧列表应用通用转换

    我想根据两列中的值将一个大数据帧拆分为一个数据帧列表 然后 我想对结果列表中的所有数据帧应用通用数据转换 滞后转换 我知道 split 命令 但只能让它一次处理一列数据 您需要将所有想要分割的因素放在一个列表中 例如 split mtcar
  • 使用 by 参数连接 data.table

    我有两个数据表dx and dy dx lt data table a c 1 1 1 1 2 2 b 3 8 dy lt data table a c 1 1 2 c 7 9 我要参与dy到每一行dx 下面是所需的输出 data tabl
  • 如何很好地注释 ggplot2(手册)

    Using ggplot2我通常使用geom text和类似的东西position jitter注释我的情节 然而 对于一个漂亮的情节 我经常发现手动注释是值得的 像下面这样 data2 lt structure list type str
  • magrittr 管道中的 WOE

    如何将下面的证据代码权重放入 magrittr 管道中 df gt 我尝试过的一切似乎都不起作用 df library Information library magrittr df a c aa bb cc aa aa aa bb cc
  • 拆分并保存在新的 data.frames 中

    我有一个大 data frame 144 列 我想将其分成每组 3 列 子文件或子 data frame 然后将子 data frame 保存在单独的文件中 换句话说 file1 将包含从 1 到 3 的列 file2 将包含从 6 到 9
  • 直接来自数据的马尔可夫模型图(makovchain 或 deemod 包?)

    我想读取一堆因子数据并从中创建一个可以很好地可视化的转换矩阵 我发现了一个非常好的软件包 称为 heemod 它与 diagram 一起工作得不错 对于我的第一个快速而肮脏的方法 我运行了一段 Python 代码来获取矩阵 然后使用这个 R
  • R + ggplot2 - 无法分配大小为 128.0 Mb 的向量

    我有一个 4 5MB 9 223 136 行 的文件 其中包含以下信息 0 0 0 0147938 3 67598e 07 0 0226194 7 35196e 07 0 0283794 1 10279e 06 0 033576 1 470
  • dplyr::mutate 添加多个值

    网上有几个与此相关的问题dplyr Github 存储库 https github com hadley dplyr已经 并且至少有一个相关的问题 但没有一个问题完全涵盖了我的问题 我认为 在 dplyr mutate 调用中添加多列 ht
  • knn-相同的k,不同的结果

    我有一个矩阵ZZ 我跑完之后prcomp并选择了我收到的前 5 台电脑data new P prcomp zz data new P x 1 5 然后我分成训练集和测试集 pca train data new 1 121 pca test
  • 将儒略日期转换为 PosixCt 日期

    我发现自己在解决这个问题 我需要将 R 中的儒略日期转换为正常日期 YYYY MM DD 我知道我可以指定as Date julian date origin 但我不知道应该提供哪个来源 我的朱利安日期类似于 2458010 2458011
  • 使用 data() 的 R 包命名空间问题 -- 找不到数据集

    我在尝试在我自己的包中导入包 即 robfilter 时遇到了问题 我尝试使用它的方法之一 adore filter 在这一行失败 data critvals 出现错误 未找到数据集 critvals 如果我通过 require robfi
  • R 中带有变音符号的字符列表

    我试图将字符串中的电话 字符 出现次数制成表格 但变音符号单独作为字符制成表格 理想情况下 我有一个国际音标的单词列表 其中包含大量变音符号以及它们与基本字符的几种组合 我在这里给出了仅包含一个单词的 MWE 但对于单词列表和更多类型的组合
  • Sweave + RweaveHTML:cat 输出未出现在输出中

    我对 Sweave RweaveHTML 有疑问 我希望 cat 的输出最终出现在正在生成的 html 文件中 我有一个案例 它没有 我不明白为什么 test function bla bla cat Result is 然后在 Rnw 文
  • 如何合并具有相同列名的数据框

    我有一个数据框 如下所示 structure list Variables structure list ADA ADA LEAD LEAD BIG4 BIG4 LOGMKT LOGMKT LEV LEV ROA ROA ROAL ROAL
  • 在前两个冒号上分割字符串

    我想在前两个冒号上拆分一列字符串 但不在任何后续冒号上拆分 my data lt read table text my string some data 123 34 56 78 100 87 65 43 21 200 a4 b6 c888
  • 将从数据透视表包生成的数据透视表转换为数据帧

    我正在尝试制作一个数据透视表pivottabler包裹 我想将数据透视表对象转换为数据框 以便我可以将其转换为数据表 带有 DT 并在 Shiny 应用程序中渲染它 以便可以下载 library pivottabler pt qpvt mt

随机推荐

  • Javascript 将 unicode 字符串转换为“标题大小写”

    我有一个 javascript 大小写转换问题 由于非英文字母 我无法解决该问题 我主要关心的是土耳其字母 我需要做的是这样的 你好世界 gt 你好世界 你好世界 gt 你好世界 你好世界 gt 你好世界 这是我到目前为止所取得的成就 St
  • Rails + Rspec + 机架 + 会话测试

    Gemfile 文件 机架 gt 1 6 0 我在将会话变量从 rspec 测试传递到 Rack 中间件时遇到了一些问题 我在互联网上浏览了很多文章 但没有任何解决方案可以帮助我理解 所以基本上我希望能够在我的中间件类中做到这一点 req
  • Grizzly / Glassfish - 无法建立 websockets 握手

    我正在尝试让 WebSockets 在 Grizzly Glassfish 之上工作 我已经克隆了示例 WebSockets 聊天应用程序 http java net projects grizzly sources git show sa
  • realloc() 旧大小无效

    我正在做 K R C 编程书中的一个练习 该程序用于从用户输入的一组行中找到最长的行 然后打印它 这是我写的 部分内容直接摘自书中 include
  • 将值插值作为属性组件

    我有一个关于 Angular2 中的插值是如何完成的问题 例如 我有组件 X 其值为 Input 在父组件中我有这样的代码
  • 如何在保持纵横比的同时将 div 包含在视口内

    存在一个正方形 div 其宽度为任意百分比 并且高度相同 需要随窗口缩放 它必须保持在视口的范围内 即 不剪裁到外部 并保持其正方形形状 本质上是复制background size contain CSS 的特性 我需要支持iOS Safa
  • 什么是 Java EE? [复制]

    这个问题在这里已经有答案了 我意识到它的字面意思是 Java 企业版 但我要问的是 这到底意味着什么 当公司需要 Java EE 经验时 他们真正需要的是什么 有使用 EJB 的经验吗 有 Java Web 应用程序经验吗 我怀疑这对不同的
  • 无法解码 JSON 对象:期望值:第 1 行第 1 列(字符 0)

    这个问题有点重复 但我找不到解决方案 当我调用 Flask 应用程序并传递 JSON 数据时 出现错误 Failed to decode JSON object Expecting value line 1 column 1 char 0
  • 以特定方式将 String 转换为 NSAttributedString

    所以我有一个看起来像这样的字符串 Swift VisualBasic Ruby i wanna convert this string to something like this 基本上我想在单个单词后面创建一个背景 是的 我可以使用 N
  • Angular 2 库配置

    目前我正在尝试创建我的第一个 Angular 2 库 即翻译管道 现在我正在尝试让开发人员能够将带有翻译的对象插入到模块中 以便管道可以使用它 如何将某种配置 对象插入到我的库中 以便我的所有组件 管道和服务都可以使用它 我的图书馆看起来像
  • 如何设置文件上传的样式?

    在 Firefox 中 它看起来像一个您单击的文本字段 我只需要一个像 Safari 渲染这样的按钮 有没有办法不显示在 Firefox 中查找文件上传的文本字段 之前问过很多次 如何在 Firefox 中设置文件输入字段的样式 https
  • 如何轻松修复过去的提交?

    我刚刚读过修改 git 中过去提交的单个文件 https stackoverflow com questions 493450 amending a single file in a past commit in git但不幸的是 接受的解
  • 如何在python中将任意文件类型序列化为json字符串

    我的服务器将通过套接字将序列化为字符串的 JSON 发送到另一台客户端计算机 我将获取最终的 json 并执行以下操作 import json python dict obj id 1001 name something file
  • 如何添加在将某种类型的元素添加到 DOM 时触发的事件侦听器?

    我想在当前窗口中创建新的 iframe 时调用特定方法 这是 youtube iframe 播放器 每当在当前窗口中创建或启用新的 iframe 时 我都需要收听它 可以做类似的事情吗 请告诉我是否有任何方法 我已尝试以下代码 但此代码不会
  • 使用 freetype 编译 PHP 错误

    我自己配置 了 PHP 包含了我需要的所有库 但后来意识到我忘记了 freetype 库 所以我回到 php 5 3 2 目录并运行 configure with free type usr local lib PHP 的配置很好 没有错误
  • render_template HTML 渲染但变量未计算

    我正在尝试构建烧瓶应用程序的 企业级 版本 因此我使用蓝图和奇特的目录结构 我有这个应用程序的 玩具 版本 其中所有内容都位于非常平坦的目录结构中 没有蓝图并且可以正常工作 我有一个路线程序 可以计算一些变量 然后将它们传递给render
  • 使用 Xcode 4.3.1 更新 Mac 上的 Ruby 时出现问题

    我使用 RVM 来安装它 它给了我这个错误 The provided compiler usr bin gcc is LLVM based it is not yet fully supported by ruby and gems ple
  • 如何更改默认的 virtualenv 提示符?

    如何更改默认的 Virtualenvwrapper 提示符 默认情况下 使用类似命令在特定的虚拟环境中工作workon lt name of env gt 将 virtualenv 的名称添加到提示符前面 如果您不使用默认命令提示符 这可能
  • Swift:如何将 UIScrollView contentSize 高度设置为内容的高度?

    我有一个 UIScrollView 现在我只是将其设置为屏幕高度的两倍 在本例中框架只是UIScreen mainScreen bounds class VenueDetailView UIScrollView required init
  • 判断shiny app中是否点击了DT数据表

    这是我获取表格点击事件的最佳尝试的一个工作示例 library shiny library DT runApp shinyApp ui fluidPage DT dataTableOutput table server function i