是否可以使用 R 作为秒表来测量击键之间经过的时间?

Is it possible to use R as stopwatch to measure the time elapsed between keystrokes?

我正在开发一个 R 包来测量动物对气味源的行为反应。为此,我需要能够记录一个人在五个预定区域中花费的时间(以秒为单位)以及他们进入每个区域的次数。

我正在努力寻找任何表明 R 可以用来做我需要的事情的信息,尽管我确信它可以!

本质上,我想为每个区域分配一个键,当一个人进入一个区域时我可以按下该键,并让 R 测量每个区域的总时间量和他们进入的次数。我在论坛上进行了广泛的搜索,看看以前是否已经实现了类似的东西,并找到了两个相关的线程:

  1. How to allow multiple inputs from user using R?

但是,这些线程都不能完全使我能够测量所需的值。

如有任何帮助,我们将不胜感激。非常感谢。

因此,根据您链接的 2 个非常有用的线程,您可以尝试类似的方法:

require(tictoc) #load required package
while(T){       #open infinite while loop
    tic()       #start timer
    input_state=readline("State input: ")  #allow for entry of state
    if(input_state %in% 1:5){    #check if it's acceptable 
        elapsed=toc()            #if it is then end timer and record data
        write.table(cbind(input_state,elapsed$toc-elapsed$tic),'results.txt',col.names=F,row.names=F,quote=F,append=T)
    }else if(input_state=='t'){  #if input is 't' 
        break                    #break out of while loop
    }else if(input_state <1 | input_state > 5 & input_state!='t'){#if input is not and accepted state AND is not 't'
     print('thats not an allowed state- please try another')
     } 
}

然后要获取进入每个状态的次数,您可以执行以下操作:

data=read.table('results.txt',stringsAsFactors=F,header=F)
table(data[,1])