r - 单击同一按钮之间的时间间隔 - shiny R

标签 r shiny

很抱歉问了一个愚蠢的问题。我很确定它有一个简单的解决方案,但我仍然无法弄清楚。

我有一个 Action 按钮,我点击了几次,我应该有点击之间的时间间隔。

例子,

我现在点击按钮,两分钟后再次点击,第二次点击 4 分钟后再次点击,第三次点击后 5 分钟再次点击,依此类推。

2分钟=第二次点击和第一次点击的时间差

4分钟=第三次点击和第二次点击的时间差

5分钟=第四次点击和第三次点击的时间差

我可以用两个按钮来做,这很容易,但如果用一个按钮,我不知道会怎样。

谢谢,

最佳答案

这是一个简单的例子。您可以将所有点击时间存储在 reactiveVal 中,在点击 actionButton 时使用 observeEvent 更新此向量,并使用 diff 在此向量上计算以秒为单位的时间间隔。希望这对您有所帮助!

library(shiny)
ui <-   fluidPage(
  actionButton('mybutton','press me'),
  textOutput('mytext'),
  textOutput('mytext2')
)

server <- function(input,output)
{
  click_times <- reactiveVal()
  observeEvent(input$mybutton, {
    click_times(c(click_times(),Sys.time()))
  })

  # print all intervals in seconds
  output$mytext <- renderText({
    if(length(click_times())<2)
    {'Less than two clicks!'} else {
      paste0('Time intervals: ', paste(round(diff(click_times()),2),collapse=' seconds, '),' seconds.')}
  })

  # print last interval in minutes:seconds format
  output$mytext2 <- renderText({
    if(length(click_times())<2)
    {'Less than two clicks!'} else {
      ct <- as.POSIXct(round(tail(diff(click_times()),1),2), origin = "1970-01-01", tz = "UTC")
      paste0('Last interval: ' ,format(ct,'%M:%S')) }
  })
}

shinyApp(ui,server)

enter image description here

关于r - 单击同一按钮之间的时间间隔 - shiny R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48267298/

相关文章:

R Shiny switch tabPanel 当 selectInput 值改变时

R:相当于 read.dbf 中的 "stringsAsFactors"参数

linux - 显示.im6 : no decode delegate for this image format `/tmp/magick-KFcbfWUi'

r - 带有facet_wrap的ggplot boxplot中没有异常值

r - openxlsx 中的换行符

r - 你如何使用 R Shiny 从数据库中填充下拉列表?

r - Shiny App 的条件错误消息

r - 参数比例在 r 中的 ggplot2 中不起作用

r - 如何为日期滑动输入

R/Shiny - 如何使用 Sys.Date() 获取当前年份?