我希望两个不同的事件触发我的应用程序中各种绘图/输出使用的数据更新.一个是被点击的按钮(input$spec_button),另一个是被点击的点上的点(mainplot.click$click).

基本上,我想同时列出这两种代码,但我不确定如何编写代码.以下是我现在拥有的:

在服务器中.R:

data <- eventReactive({mainplot.click$click | input$spec_button}, {
    if(input$spec_button){
      # get data relevant to the button
    } else {
      # get data relevant to the point clicked
    }
  })

但是if-else条款不起作用

Error in mainplot.click$click | input$spec_button : operations are possible only for numeric, logical or complex types

--> Is there some sort of action-combiner function I can use for the mainplot.click$click | input$spec_button clause?

推荐答案

我知道这很古老,但我有同样的问题.我终于明白了.在大括号中包含一个表达式,只需列出事件/react 对象.我(未经证实)的猜测是,Shinny只是对这个表达式块执行与标准reactive块相同的react 指针分析.

observeEvent({ 
  input$spec_button
  mainplot.click$click
  1
}, { ... } )

EDIT

更新以处理表达式中最后一行返回NULL的情况.只需返回一个常量值.

R相关问答推荐

在集合群体模型中计算时间步依赖的速率/参数

R gtsummary tBL_summary,包含分层和两个独立分组变量

如果索引重复,聚合xts核心数据

更改Heatmap Annotation对象的名称

无法将传奇添加到cowplot多情节中

用derrr在R中查找组间的重复项

如何通过Docker部署我的shiny 应用程序(多个文件)

gganimate在使用shadow_mark选项时不保留所有过go 的标记

R函数‘paste`正在颠倒其参数的顺序

plotly hover文本/工具提示在shiny 中不起作用

有没有一种方法可以同时对rhandsontable进行排序和从rhandsontable中删除?

R -使用矩阵reshape 列表

根据纬度和距离连接两个数据集

停止ggplot将多行减少到一行

R+reprex:在呈现R标记文件时创建可重现的示例

如何将一个方阵分解成没有循环的立方体

如何计算增加10米(0.01公里)的行?

数值型数据与字符混合时如何进行绑定

有没有办法通过str_Detect()或其他字符串匹配函数来连接两个长度不等的数据帧?

在ggploy中创建GeV分布时出错