闪亮的反应性

2023-11-23

我有一个带有大量参数的应用程序。每个参数都有很多粒度,这使得找到所需的参数变得很痛苦。这会导致反应部分不断计算,从而减慢速度。我添加了一个提交按钮,它解决了上述问题,但随后又遇到了另一个问题。

下面是我构建的框架的简单复制。参数输入接受1到1000之间的数字,这表示我想要的样本。我想做的是能够执行上述操作,但也能够使用同一组参数重新采样。添加提交按钮后现在发生的情况是,除非我先单击重新采样然后更新按钮,否则它会使重新采样按钮无法操作。

有什么想法可以让它们分开工作吗?

shinyServer(function(input, output) { 
  getY<-reactive({
    a<-input$goButton
    x<-rnorm(input$num)
    return(x)
  })

  output$temp <-renderPlot({
     plot(getY())
  }, height = 400, width = 400)
})

shinyUI(pageWithSidebar(
  headerPanel("Example"),
  sidebarPanel(
    sliderInput("num",
            "Number of Samples",
            min = 2,
            max = 1000,
            value = 100),
    actionButton("goButton", "Resample"),
    submitButton("Update View")        
  ),  
  mainPanel(
    tabsetPanel(      
      tabPanel("Heatmap",
               plotOutput("temp")
      ),
      tabPanel("About"),      
      id="tabs"
    )#tabsetPanel      
  )#mainPane;   
))

根据乔的回答进行编辑:

shinyServer(function(input, output) { 
  getY<-reactive({

    isolate({a<-input$goButton
      x<-rnorm(input$num)
      return(x)})
  })

  output$temp <-renderPlot({
     b<-input$goButton1
     plot(getY())
  }, height = 400, width = 400)
})

shinyUI(pageWithSidebar(
  headerPanel("Example"),
  sidebarPanel(
    sliderInput("num",
            "Number of Samples",
            min = 2,
            max = 1000,
            value = 100),
    actionButton("goButton", "Resample"),
    actionButton("goButton1","Update View")        
  ),  
  mainPanel(
    tabsetPanel(      
      tabPanel("Heatmap",
               plotOutput("temp")
      ),
      tabPanel("About"),      
      id="tabs"
    )#tabsetPanel      
  )#mainPane;   
))

Joe Cheng 在上面的评论中给出了答案,但是看到 OP 很难理解它,我在下面明确地写出来,以供记录:

# ui.R

library("shiny")
shinyUI(
  pageWithSidebar(
    headerPanel("Example")
    ,
    sidebarPanel(
      sliderInput("N", "Number of Samples", min = 2, max = 1000, value = 100)
      ,
      actionButton("action", "Resample")
    )
    ,  
    mainPanel(
      tabsetPanel(      
        tabPanel("Plot", plotOutput("plotSample"))
        ,
        id = "tabs1"
      )
    )
  )
)

# server.R

library("shiny")
shinyServer(
  function(input, output, session) { 
    Data <- reactive({
        input$action
        isolate({ 
            return(rnorm(input$N))
            return(x)
        })
    })
  output$plotSample <-renderPlot({
      plot(Data())
    } , height = 400, width = 400
  )
})

请注意,在reactive() 中包含input$action(其中“action”是actionButton 的inputID)足以触发绘图的新渲染。所以你只需要一个actionButton。

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

闪亮的反应性 的相关文章

随机推荐

  • 如何使用 Selenium/PhantomJS 列出加载的资源?

    我想加载一个网页并列出该页面的所有加载资源 javascript images css 我使用此代码来加载页面 from selenium import webdriver driver webdriver PhantomJS driver
  • 如果在 WHERE 子句中用参数(具有相同值)替换常量,为什么查询会急剧减慢?

    我有一个递归查询 如果WHERE子句包含一个常量 但如果我用具有相同值的参数替换该常量 则会变得非常慢 查询 1 使用常量 WITH Hierarchy Id ParentId Data Depth AS SELECT Id ParentI
  • Java Swing:开源甘特图库[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在为 Java Swing 寻找一个好的开源甘特图库 我尝试了 JFreeChart 但它无法绘制子任务 我尝试过斯威夫特甘特图也 它可以绘制子
  • 处理 jquery 自动完成中的无结果

    嘿 当用户当前查询没有结果时 我正在尝试返回消息 我知道我需要点击 keyup 事件 但看起来插件正在使用它 这个问题确实已经过时了 无论如何我正在使用新的 jQuery UI 1 8 16 自动完成现在非常不同 http jqueryui
  • 从 .txt 文件读取和显示数据

    如何读取和显示 txt 文件中的数据 BufferedReader in new BufferedReader new FileReader
  • 使用 Ruby 执行命令行时如何避开竖线?

    我在 Windows 中输入以下命令行 dir b ruby ne f chomp File read f each line line print f if line helloworld 此行用于查找当前目录下的所有文件hellowor
  • 了解 ISO 8583 消息日志

    我在以下位置阅读了有关 ISO 8583 消息传递的内容 WIKI and 代码项目 我理解 ISO 8583 消息基本上可以分为 3 部分 MTI 消息类型指示器 1 1 版本 1 2 消息类 1 3 留言功能 1 4 消息来源 Bitm
  • 使用Lua将0秒格式化为00:00:00

    我正在尝试将持续时间 以秒为单位 格式化为时间 并且得到的结果表明我应该在某个地方考虑 一个纪元 我期望os date X 0 生成 00 00 00 但它返回 20 00 00 以及日期值 12 31 69 不过我不需要日历日期 是否有一
  • WCF通信异常

    接收 HTTP 响应时发生错误http 生产 服务 AccountService svc 这可能是由于 服务端点绑定不使用 HTTP 协议 这可以 也可能是由于服务器中止 HTTP 请求上下文 可能是由于服务关闭 查看服务器日志了解更多信息
  • 为什么不能声明嵌套类类型的内联静态数据成员?

    struct sa struct sb int a 123 inline static sb b 上面的代码会产生一个错误 main cpp 25 20 error default member initializer for sa sb
  • 来自 Windows 的低级键盘输入

    哪些 win32 调用可用于从 Windows 服务全局检测按键事件 不仅仅是 1 个窗口 我想在每次按下按键时收到一条消息 您想使用 Win32 Hooks 特别是键盘挂钩 你可以在这里读更多关于它的内容 您想要的挂钩类型是 WH KEY
  • Python从py模块读取所有导入语句的简单方法

    我正在尝试创建一个辅助函数来读取文件并模拟单元测试的所有导入 我必须读取文件与导入 因为我在 python 路径上没有这些东西 示例代码 module py import com stackoverflow question from co
  • cmake:使用多个输出配置

    我正忙于将构建过程从 msbuild 移植到 cmake 以便更好地处理 gcc 工具链 它为我正在做的一些数字工作生成更快的代码 现在 我希望 cmake 生成多个版本的输出 例如一个版本使用 sse2 另一个版本使用 x64 等等 然而
  • 如何使用jackson在java中将json转换为POJO

    我使用的是 spring 3 1 2 我需要将 json 对象解析为 POJO 这是我需要解析的 json Person id 2 Dog dateOfBirth 2012 08 20 00 00 00 price 10 00 我需要将这个
  • 使用 unix 实用程序删除连续的重复行

    这表面上听起来很简单 但实际上要复杂一些 我想使用 unix 实用程序删除连续的重复项 保留原始内容 但是 我还想保留在原始内容之后不立即出现的其他重复内容 例如 如果我们有以下几行 O B O B C D T V O B 我希望输出是 O
  • fastcgi 多路复用?

    我正在实现 fastcgi 应用程序 在阅读 fastCGI 规范后 我发现了一个名为 请求多路复用 的功能 它让我想起 Adob e RTMP 多路复用协议是专有且封闭的时代 据我了解 多路复用可以减少创建与 FCGI 客户端的新连接的开
  • 如何找到具有项目值的列表框项目索引?

    my MessageBox Show listbox Items 0 ToString is abber 如何使用 abber 找到列表框项目索引 0 With listbox Items IndexOf abber That is int
  • 有没有办法知道 C++ 中自动包含哪些标头

    这是一个后续问题this上面说 在 C 中 与 C 不同 标准标头允许 include 其他标准标头 有什么方法可以知道自动包含哪些标头 因为可能很难猜测哪些标头中定义了哪些符号 动机 我的作业在我的计算机上编译并正常工作 但 TA 告诉我
  • 如何从异步调用返回响应?

    如何从函数返回响应 结果foo发出异步请求 我试图从回调中返回值 并将结果分配给函数内的局部变量并返回该变量 但这些方法都没有实际返回响应 它们都返回undefined或者无论变量的初始值如何result is 接受回调的异步函数示例 使用
  • 闪亮的反应性

    我有一个带有大量参数的应用程序 每个参数都有很多粒度 这使得找到所需的参数变得很痛苦 这会导致反应部分不断计算 从而减慢速度 我添加了一个提交按钮 它解决了上述问题 但随后又遇到了另一个问题 下面是我构建的框架的简单复制 参数输入接受1到1