是否可以使用 R 作为秒表来测量击键之间经过的时间?
Is it possible to use R as stopwatch to measure the time elapsed between keystrokes?
我正在开发一个 R 包来测量动物对气味源的行为反应。为此,我需要能够记录一个人在五个预定区域中花费的时间(以秒为单位)以及他们进入每个区域的次数。
我正在努力寻找任何表明 R 可以用来做我需要的事情的信息,尽管我确信它可以!
本质上,我想为每个区域分配一个键,当一个人进入一个区域时我可以按下该键,并让 R 测量每个区域的总时间量和他们进入的次数。我在论坛上进行了广泛的搜索,看看以前是否已经实现了类似的东西,并找到了两个相关的线程:
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])
我正在开发一个 R 包来测量动物对气味源的行为反应。为此,我需要能够记录一个人在五个预定区域中花费的时间(以秒为单位)以及他们进入每个区域的次数。
我正在努力寻找任何表明 R 可以用来做我需要的事情的信息,尽管我确信它可以!
本质上,我想为每个区域分配一个键,当一个人进入一个区域时我可以按下该键,并让 R 测量每个区域的总时间量和他们进入的次数。我在论坛上进行了广泛的搜索,看看以前是否已经实现了类似的东西,并找到了两个相关的线程:
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])