感謝原原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
|