感谢原原po的发问以及c大的解答
正好也遇到类似的状况
但照着做之后,
# 计算时间差,以小时表示
DT[ , diffTime := difftime(time, time[min(k, .N)], units="hours"), by = ind]
这一段都会跳出error......
Error in `[.data.frame`(DT, , `:=`(diffTime, difftime(time, time[min(k, :
unused argument (by = ind)
我是将自身资料撷取出来, 字段名全都改成跟c大的资料一样
用c大产生的资料下去跑没问题
但内容换成我的资料就会错误
我的资料格式如下:
ind是"character", time是"POSIXct" "POSIXt",
照理应该是符合规则, 不知卡在哪?
然后我要保留的条件与原文也有所不同
以原文为例:
个体A 2012/10/11 20:00 实验资料OOXX
个体A 2012/10/11 23:00 实验资料OOXX
个体A 2012/10/12 03:00 实验资料OOXX
个体B 2012/12/11 05:00 实验资料OOXX
个体B 2012/12/11 11:05 实验资料OOXX
个体B 2012/12/11 13:00 实验资料OOXX
个体B 2012/12/11 18:00 实验资料OOXX
个体B 2012/12/11 20:00 实验资料OOXX
A个体保留第一、第三笔资料
B个体保留第一、第二、第四笔资料
我则是要保留相近时间内(与上一笔撷取的时间不超过6小时)的最后一笔
其结果会是: A个体保留第3笔, B个体保留第1、5笔
对于B个体而言
05:00
|