程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在 R 中计算整数闪亮?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在 R 中计算整数闪亮??

开发过程中遇到在 R 中计算整数闪亮?的问题如何解决?下面主要结合日常开发的经验,给出你关于在 R 中计算整数闪亮?的解决方法建议,希望对你解决在 R 中计算整数闪亮?有所启发或帮助;

我在下面有这个可重复的示例,我尝试计算整数。我有一个“开始”按钮、一个“重置”按钮和一个“停止”按钮。所以这个过程应该是这样的:1,2,3 -Stop- -Start- 4,5,6...

不幸的是,它看起来像这样:1,3 -Stop- -Start- 5,7,9 -Stop- -Start- 12,15,18 ... 所以每次我按停止和启动或停止- 重置 - 启动它会增加 1。

有人可以在该问题的代码中看到问题吗?谢谢。

ui.R

@H_674_11@library(shiny)

ui<-fluIDPage(
    titlePanel("XXX"),hr(style="border-color: grey;"),sIDebarLayout(
        # panel with all @R_403_5983@s
        sIDebarPanel(
                   # start / reset buttons on same row
                     fluIDRow(
                         @R_197_8620@n(7,uioutput("resetbutton")),@R_197_8620@n(5,uioutput("startbutton"))
                     ),fluIDRow(
                         @R_197_8620@n(7,actionbutton("stop","Stop")),@R_197_8620@n(3,actionbutton("start","Start"))
                     )
        ),# plot panel
        mainPanel(
            
            # tab layout
            tabsetPanel(
                
                tabPanel("XXX",# visual data on same row
                         fluIDRow(
                             @R_197_8620@n(3,textoutput("Count"))
                         )
                         
                )
            )
        )   
    )
)

server.R

@H_674_11@server<-function(@R_403_5983@,output){
    
    Val <- reactiveValues()
    Val$count<- 1

    # dynamic reset button label
    output$resetbutton<-renderUI({
        actionbutton("reset",label= "reset")
    })
    
    
    forWARD<-function(){
        
        Val$count <- Val$count + 1 
        
    }
    
    
    session<-reactiveValues()
    session$timer<-reactiveTimer(Inf)
    
    observeEvent(@R_403_5983@$start,{
        session$timer<-reactiveTimer(1000)
        observeEvent(session$timer(),{
            forWARD()
        })
    })
    
    
    observeEvent(@R_403_5983@$stop,{
        session$timer<-reactiveTimer(Inf)
    })
    
    ## when reset button is pressed (set everything to original values)
    observeEvent(@R_403_5983@$reset,{
        Val$count<- 1
    })
    
    
    ##Count Output
    output$Count <-renderText({
        paste("Count:",Val$count)
    })
    
}

解决方法

我认为更简洁的方法是结合使用 @H_674_11@invalidateLater 和最小控制流来检查标志 @H_674_11@Val$run 是否在时钟运行。

@H_674_11@library(shiny)

shinyApp(ui =fluidPage(
  titlePanel("XXX"),hr(style="border-color: grey;"),sidebarLayout(
    # panel with all inputs
    sidebarPanel(
      # start / reset buttons on same row
      fluidRow(
        @R_197_8620@n(7,uiOutput("resetbutton")),@R_197_8620@n(5,uiOutput("startbutton"))
      ),fluidRow(
        @R_197_8620@n(7,actionButton("stop","Stop")),@R_197_8620@n(3,actionButton("start","Start"))
      )
    ),# plot panel
    mainPanel(
      
      # tab layout
      tabsetPanel(
        
        tabPanel("XXX",# visual data on same row
                 fluidRow(
                   @R_197_8620@n(3,textOutput("Count"))
                 )
                 
        )
      )
    )   
  )
),server = function(input,output) {

  Val <- reactiveValues()
  Val$count<- 1
  Val$run <- falSE
  
  # dynamic reset button label
  output$resetbutton<-renderUI({
    actionButton("reset",label= "Reset")
  })
  
  observeEvent(input$start,{
    Val$run <- TRUE
  })

  observe({
    if (Val$run) {
      isolate(Val$count <- Val$count + 1)
      invalidateLater(1000)
    }
  })
  
  observeEvent(input$stop,{
    Val$run <- falSE
  })
  
  ## when reset button is pressed (set everything to original values)
  observeEvent(input$reset,{
    Val$count<- 1
  })
  
  
  ##Count Output
  output$Count <-renderText({
    paste("Count:",Val$count)
  })
  
})

我们也可以使 @H_674_11@reactiveTimer 的方法奏效:

@H_674_11@library(shiny)

shinyApp(ui =fluidPage(
  titlePanel("XXX"),output) {

  Val <- reactiveValues()
  Val$count<- 0
  
  # dynamic reset button label
  output$resetbutton<-renderUI({
    actionButton("reset",label= "Reset")
  })

  session<-reactiveValues()
  session$timer<-reactiveTimer(Inf)
  
  observeEvent(input$start,{
    session$timer <- reactiveTimer(1000)
    Val$count<- Val$count -1
  })
  
  observe({
    session$timer()
    isolate(Val$count <- Val$count + 1)
  })
  
  
  observeEvent(input$stop,{
    session$timer<-reactiveTimer(Inf)
    Val$count<- Val$count -1
  })
  
  ## when reset button is pressed (set everything to original values)
  observeEvent(input$reset,Val$count)
  })

})

大佬总结

以上是大佬教程为你收集整理的在 R 中计算整数闪亮?全部内容,希望文章能够帮你解决在 R 中计算整数闪亮?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。