我正在开发一个R包装,以测量动物对气味源的行为响应。为此,我需要能够记录一个人在五个预定区域中花费的时间(以秒为单位)以及他们进入每个区域的次数。
尽管我确信R可以用来满足我的需求,但我仍在努力寻找任何信息,尽管R可以做到!
基本上,我想将每个区域分配给一个键,当一个人进入一个区域时,我可以按下该键,让R测量每个区域中的总时间以及他们输入的次数。我在论坛上进行了广泛的搜索,以查看以前是否已经实现了类似的目标,并找到了两个相关的主题:
但是,这些线程都不足以使我能够测量所需的值。
任何帮助将不胜感激。非常感谢。
答案 0 :(得分:0)
因此,根据您链接的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])